From nobody Thu Jul 23 21:17:01 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=epam.com); dmarc=pass(p=quarantine dis=none) header.from=epam.com ARC-Seal: i=2; a=rsa-sha256; t=1783678840; cv=pass; d=zohomail.com; s=zohoarc; b=DrYe1Cf/v5zP5n/Js1QCq5L4NJIN8lqHlpXpj+Gq3K4JKer0HfhA4XpbZEmXprzBxjnbJysV2I95+KnQP08LrfQa+ClE0g9EXBoTfxeFS70Dbldpngl2+ZhCl61cjb3hrab0gb6B35OqE9Z9gKbTnh6qIlAcqsvi/QTTJBk2htE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1783678840; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ks7QeJvMS/dwIBC7ym0JwWW1uyL/KECsuBfXfBQ1NfM=; b=UItLSOcHP86DNr4BBipGf9/ZCEU8tLO46YS/YI2ORhO/e6FP+z707lcP2yFMUlJORGzfqG1ee3TXFcGaeFz1EkJ8V+CGmP753WFW6uqoz4weCUPIy6FCF58DTmmtSQHYL2/s71pZk7iM9+1P4pKilQwnG+eHeplTmtYCGRD+LGE= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=epam.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1783678840675963.3210359487546; Fri, 10 Jul 2026 03:20:40 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.1359057.1612840 (Exim 4.92) (envelope-from ) id 1wi8LK-0004uJ-Gl; Fri, 10 Jul 2026 10:20:26 +0000 Received: by outflank-mailman (output) from mailman id 1359057.1612840; Fri, 10 Jul 2026 10:20:26 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wi8LK-0004uC-EC; Fri, 10 Jul 2026 10:20:26 +0000 Received: by outflank-mailman (input) for mailman id 1359057; Fri, 10 Jul 2026 10:20:25 +0000 Received: from mx.expurgate.net ([194.145.224.10]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1wi8LJ-0004u6-0T for xen-devel@lists.xenproject.org; Fri, 10 Jul 2026 10:20:25 +0000 Received: from mx.expurgate.net (helo=localhost) by mx.expurgate.net with esmtp id 1wi8LI-006d3h-4E for xen-devel@lists.xenproject.org; Fri, 10 Jul 2026 12:20:24 +0200 Received: from [10.42.69.8] (helo=localhost) by localhost with ESMTP (eXpurgate MTA 0.9.1) (envelope-from ) id 6a50c75b-5cb7-0a2a0a5109dd-0a2a4508ad6a-20 for ; Fri, 10 Jul 2026 12:20:24 +0200 Received: from [40.107.130.129] (helo=MRWPR03CU001.outbound.protection.outlook.com) by tlsNG-c1860d.mxtls.expurgate.net with ESMTPS (eXpurgate 4.57.2) (envelope-from ) id 6a50c762-ee29-0a2a45080019-286b82814896-3 for ; Fri, 10 Jul 2026 12:20:19 +0200 Received: from AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18) by DU0PR03MB9633.eurprd03.prod.outlook.com (2603:10a6:10:42f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.15; Fri, 10 Jul 2026 10:20:10 +0000 Received: from AS8PR03MB9746.eurprd03.prod.outlook.com ([fe80::cf11:309:1384:58f7]) by AS8PR03MB9746.eurprd03.prod.outlook.com ([fe80::cf11:309:1384:58f7%4]) with mapi id 15.21.0181.016; Fri, 10 Jul 2026 10:20:10 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" Authentication-Results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=epam.com header.i="@epam.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GT/rGwVXF2z7ZmZnofrqW1bMcJN5cgqNgeSJRdmKRj5pfDQ8rOjJ1rAOu9Lirx6bwJWiaS25/TGBJheXZv2gJ0QuLmDzgOhb0fmjgq7q1gKqFdvlGiphHhIzwIHEah6Bp0NgqWNlVaEfnWLQg1km2IW3jD90VEcvLLnXbhaPk8ouiwSzAf4nVlfQL/rnge/dxsbfmTnc/TN1BRt5iWxLH9lo0oCAEUiK4e59bySgsTT2pfQuuNKPhCnidg4yDZamq1g87rG3DP4SlxK2xlkv6ZQ6Hhl2IexMVw3yMBQTIoPMHOU/Z6+TKQDa6bq4/Xqg3aNSDljJcSRQGQprqvdQxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ks7QeJvMS/dwIBC7ym0JwWW1uyL/KECsuBfXfBQ1NfM=; b=Rye6eeD6ZFqGdH8uvwQu8LRsMnE437z/XBMWHzG3ueeKeWdy2dU+DH4ZoBNA1iGNfIk8+KwfAkV/pkSCDfUKNjDLQCJFyuXvkMdo3Onp6Y04R9zhm716VaG90dWDv0m4NAGi5kWfUXrG50HMSl6nXK0bYJoJOduAZxQ9UA9TQeqfzWvYYAotNXd8qA+Kx8t+WNqBo0YUF8n7UBgJROJxScJ34+jl9BNeVE9B3ynDC52ikQfoLnWj++NtfSKMRn4Zy3ViwRpQRjhefIiXd9Ef+bopfIzSHwnVBXw2R3tNN32Uqnoy0XFZ6qkYB4ZtNfPoef3P6G+lvItyKpmtp0i9XQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com; dkim=pass header.d=epam.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ks7QeJvMS/dwIBC7ym0JwWW1uyL/KECsuBfXfBQ1NfM=; b=POqaboA8YDBdi0uug/F4dOIjmYkB+gfobjR/41Qo4+PscIUk8mwpzGsc01uoaiGsqYxkuCa2dTsgwM7qWMg72Di0ldE1SOMX/ec6NxJYYs+Xyutpdd5DXQPffCK1TCK88jnO3rqibUG0Bd0GatZvjyM+xymKK+CHYtCa9lIegAfAJnA/+FPk9PpROsXdHwSGBLUfhafKOzKftGUdl3ggMm4gAAfeePTzhVCraZkoCnkHVRjrC8dV+ezUIZxDK7K+5vGcwzmJWcAO5p/YnPNxThh8VVyJGpjJPXV6xFxjJZwrSv1is1I7APVUODKDxBI9VWqVgaz19D2HjMTUEMT9mA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com; From: Mykola Kvach To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Julien Grall , Bertrand Marquis , Michal Orzel , Volodymyr Babchuk Subject: [PATCH for-4.22] xen/arm: propagate secondary GIC initialization failures Date: Fri, 10 Jul 2026 13:20:01 +0300 Message-ID: <9fd0d0eacf061cc2a32f440e3438c084fa9ca79c.1783678619.git.mykola_kvach@epam.com> X-Mailer: git-send-email 2.43.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: WA2P291CA0039.POLP291.PROD.OUTLOOK.COM (2603:10a6:1d0:1f::25) To AS8PR03MB9746.eurprd03.prod.outlook.com (2603:10a6:20b:61d::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8PR03MB9746:EE_|DU0PR03MB9633:EE_ X-MS-Office365-Filtering-Correlation-Id: 28046916-6b2e-4589-a53e-08dede6cd255 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|23010399003|1800799024|376014|56012099006|11063799006|6133799003|18002099003; X-Microsoft-Antispam-Message-Info: /KIwVnzHM4uHTVH3ISUeeCT6NXIo+zcj63osZjyPOlK8fS6UfjndsUNcFbowW4nC8IzJ1OuIf3EOUsG+Qza1cOCnHfjBPvNGFypm3krSl2hGUyKU4TKakRrCM9mCyW/S+YLY6COf8BlYJ5KeA99MiRWpvGXuQC+mPf4e21t6WReWemwnKyWRFkseP0RVQVtnePfWuR9K5FgLfFHkLy6NX6CRmW8Ri08NBmheYAOAWLd4nkNLgZG7kNHF9VdVAitqtw+v7Dr78GKqzwvEbdt4pusXR0GLaUV80wAdz2l5usRXk+WAdSclSqaKU8gmi7G5mnWrXBr03P4A0Yot+OdCd27EQA3S5MmLYbr5jxkMvN48MubBUt+ryGz8NEGw+Pjpq/hrVgevC2AQn++gc0yw+t6jrNJV0Pe7WoTinAIwscEckRzrRhYsi2scWjRF709zRGulYBwID5X52qkdlrcmgWhPLCbVPW7AG8LIcU3QXldW83JYKkkO7VXN+ze6IjJKbuNFTnqWi/kYa81nhCeYH86ZAEh+QBqCxlqK8JTA3Ru000KMXJHM2G97iUjp+kHOLXKvMURGaiDCqdSI4IUUSroZwVQXnJjobGJiLVHpPY5BjAfjR4E1bmw8MRqO0ZySn//YhhE/AEh0TYwCidePBY5hp+Eb2JPUsNp4yY/F2xY= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9746.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(23010399003)(1800799024)(376014)(56012099006)(11063799006)(6133799003)(18002099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?0PUcMUKPk89nBaPK663VXvo7On0tLyJjf4wQ3lcYT0h10QV/ZPdxy1qFZXsp?= =?us-ascii?Q?CYvHOAA4HfLDucUdUC/3jnbOcsHTxD4TnNJhfRv/8PT9xPiqzmEBzzDmlqCj?= =?us-ascii?Q?gwtDeb77XQlntFeyQzCk9oFortP7qzGUEWlB1FEr2nYNz65B9NpFpF1fOdyd?= =?us-ascii?Q?MotnyjktxAmnGjigEFLPCsDplO40pkNMgxtbCaHqHdk7EPSTMwiEGnVcLh6o?= =?us-ascii?Q?rloC2vjiJ927LyolnDT9Ojdgwnk0xjBdIn/8B1K2qlc4N1Wo6qP+Nsoz0lU7?= =?us-ascii?Q?Q6LgZq0mUQEHY3VY8Elszs+8n7HNXGQ5o5jgk+n/xhcxMBjR05su6AfS7Uyj?= =?us-ascii?Q?mReU+Y6y+DPnqzTyHxz/1ILITf1va6mrm2y/3+OfbZE9d0BwnlFl28eeszyy?= =?us-ascii?Q?x36OfxsLJYMq42A0BEE7UV9vxJUk5w3GJYU57Oy/f0sOAL59JD4aDPKePpWw?= =?us-ascii?Q?FFwugWZQuHJcp6zf1+wNM/mfGQ3vAPO5zjjCuzntJuj3mVi0uhpwwK/JQbwP?= =?us-ascii?Q?r/XrT/24M02Vx8PwGhEpC9YyJqqjRQNPbyp69n3fZWy41hCdOeFXXfyeWJ0s?= =?us-ascii?Q?PAUAh8y9q99elfaR/C9GPaX5FTpERIqWlQxnPyf4ROdyhyF/kiotoetKTX9h?= =?us-ascii?Q?+7zsWr9VtJcyTx6gUkh8wx0jDE7LSuzF5GoXiu1OF7WekkIdvcw7EEh8I/aP?= =?us-ascii?Q?OapuN0Ow4yelc1G/8LeVy+ctvHeDbPxWJ62S2NuEiVhiI5EsfTGsglAB+Eof?= =?us-ascii?Q?gTh5IsVqHb+M7JL3+vt/4TXYImBojOyWFSIwmMFo1RucoZFnUeGHe53Wc5C/?= =?us-ascii?Q?o8MIok+xCvLzu8/cmby3PY3AR2rXtjSdcRm/J63Z3mVsuiSdaXMlPFlFs4PQ?= =?us-ascii?Q?0NQDtpld5eMeMEOJCOhZdHk3LGyWJAY6ytpLORMqV5Wq6KlrLgbHxGv1LrB4?= =?us-ascii?Q?+WKL0aREusCXAw6orDospTJMLMs9KcPRd+GVGOY0Ug3yicNOnOWGP4U7aN0M?= =?us-ascii?Q?WXcb52Wd7cJIBMv0X3WLRsI5AKDVcdGX0TESkW8o5S+Zhq+LbwXKvdoF4LD3?= =?us-ascii?Q?JUZKK01sHTMqlEOOrFo5cfBAO+sh3XZpMyltpFjPQX0DlSytoyQLl3Zi6gR5?= =?us-ascii?Q?h435h/VmizxygZHalGdsvQP8yWoqZhjUjd3K2+ksieTwAO1Rp7G3pvhoXi98?= =?us-ascii?Q?XTfe52jATMShpjWOvacT6FJuWrm/LiT5w6u51WRaVeJPwkJ+e/jztozggaoj?= =?us-ascii?Q?Xo/jmWcGsu6Kt6vBgc8yW1ckr0SXTWYP/vj+PIpgS1rXXZJk5mukDbaJTVQv?= =?us-ascii?Q?z68vwjKegc6Vd9BEJbxH4PPtEqlLJyLwULU+B5KvN8+nUbhBqvvms4GK0C9D?= =?us-ascii?Q?MrPOu3b3ZBhAjLaG2w4ez95kqHgCJIZJC1PkTHTx34CzIIw4KQGnyCQjabNe?= =?us-ascii?Q?FIKS/dNEnzwK31XZXma+S1dtQqhuBWl2mqA766rj4/Ay3wsNf5HgJlSE0Gug?= =?us-ascii?Q?nOa7RIs8qPcl7JSLzovQ85q+QgbDHTP3UEgCrRRbeajVoAceo63V2go59fun?= =?us-ascii?Q?OVgLjjWQW7s0yxTRmsXYRTZd96fJ+AGdE1wyBDy9utUpFwB78UpOzQszjUjf?= =?us-ascii?Q?K+HOIMnObFPpyRjzbS1e7O0WFm+Xf9CssYfpg3BN6PV5/kfSiKVkV8WRRI05?= =?us-ascii?Q?LbuiNGsn6ptkWaur97Ci/Gcos9SlwiBv4BBU/u+ai+qo7u24Ehq/3xKjP8Zs?= =?us-ascii?Q?hWDhuflNrA=3D=3D?= X-OriginatorOrg: epam.com X-MS-Exchange-CrossTenant-Network-Message-Id: 28046916-6b2e-4589-a53e-08dede6cd255 X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9746.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2026 10:20:10.2414 (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: gq2Yv86KsKQqwjB5Al+ad0UUSos6iG+9PHAI9VXB3Owzwul0zNhlET3odcVlA8BvIYqH7ZhzHn8DYX3balDunA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB9633 X-purgate-ID: tlsNG-c1860d/1783678824-7A62B01C-FA032E7F/0/0 X-purgate-type: clean X-purgate-size: 2814 X-ZohoMail-DKIM: pass (identity @epam.com) X-ZM-MESSAGEID: 1783678841756158500 Content-Type: text/plain; charset="utf-8" The GICv3 secondary_init() callback can fail while discovering or waking a Redistributor, enabling LPIs, or setting up an ITS collection. gic_init_secondary_cpu() currently discards that status. start_secondary() then marks the CPU online even though its per-CPU GIC interface may be unusable. Return the callback status through the common GIC layer. Have start_secondary() report the failure and stop the affected CPU before it is added to cpu_online_map. Fixes: bc183a0235e0 ("xen/arm: Add support for GIC v3") Signed-off-by: Mykola Kvach Reviewed-by: Michal Orzel --- xen/arch/arm/gic.c | 10 ++++++++-- xen/arch/arm/include/asm/gic.h | 2 +- xen/arch/arm/smpboot.c | 9 ++++++++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c index ee75258fc3..078049e741 100644 --- a/xen/arch/arm/gic.c +++ b/xen/arch/arm/gic.c @@ -282,11 +282,17 @@ void smp_send_state_dump(unsigned int cpu) } =20 /* Set up the per-CPU parts of the GIC for a secondary CPU */ -void gic_init_secondary_cpu(void) +int gic_init_secondary_cpu(void) { - gic_hw_ops->secondary_init(); + int rc =3D gic_hw_ops->secondary_init(); + + if ( rc ) + return rc; + /* Clear LR mask for secondary cpus */ clear_cpu_lr_mask(); + + return 0; } =20 /* Shut down the per-CPU GIC interface */ diff --git a/xen/arch/arm/include/asm/gic.h b/xen/arch/arm/include/asm/gic.h index ff22dea40d..ee2c26adb4 100644 --- a/xen/arch/arm/include/asm/gic.h +++ b/xen/arch/arm/include/asm/gic.h @@ -291,7 +291,7 @@ extern void gic_preinit(void); /* Bring up the interrupt controller, and report # cpus attached */ extern void gic_init(void); /* Bring up a secondary CPU's per-CPU GIC interface */ -extern void gic_init_secondary_cpu(void); +extern int gic_init_secondary_cpu(void); /* Take down a CPU's per-CPU GIC interface */ extern void gic_disable_cpu(void); /* setup the gic virtual interface for a guest */ diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c index ba5fd2dd52..5e23b0b6a9 100644 --- a/xen/arch/arm/smpboot.c +++ b/xen/arch/arm/smpboot.c @@ -319,6 +319,7 @@ smp_prepare_cpus(void) void asmlinkage noreturn start_secondary(void) { unsigned int cpuid =3D init_data.cpuid; + int rc; =20 memset(get_cpu_info(), 0, sizeof (struct cpu_info)); =20 @@ -373,7 +374,13 @@ void asmlinkage noreturn start_secondary(void) */ update_system_features(¤t_cpu_data); =20 - gic_init_secondary_cpu(); + rc =3D gic_init_secondary_cpu(); + if ( rc ) + { + printk(XENLOG_ERR "CPU%u: Failed to initialize the GIC: %d\n", + cpuid, rc); + stop_cpu(); + } =20 set_current(idle_vcpu[cpuid]); =20 --=20 2.43.0