[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v13 05/14] xen/arm: gic-v3: Implement GICv3 suspend/resume functions


  • To: Mykola Kvach <mykola_kvach@xxxxxxxx>
  • From: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • Date: Tue, 10 Nov 2026 14:47:58 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=epam.com smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
  • 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
  • Arc-message-signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IpoT2NeiX+46NXakp8ciBcBzSbsHi0V8VsopJZM8Pq4=; b=TxlGKForJyx1We77PJw27jq6pghICCaJ8rnd70TwOqiJNIyGyD5qo4TrJwp/WYCjSarvsk36NHTkDDIGgQ9roU3YjQbKl+0Ra5b1bikiHOBxUDuY0nzdFusQDEgGfcUqY3U084QQTND9y29lLQvY04HtEP4dqoNGsv7VdEcVxtkcNsyaNrgDLrxaRFYyBwaOUD0BY6OtgMR7smHNgScIMKGb7BVVi2DvKNR0jNleIRnFM3N1Wi6tw4fss227TT27JjFr3nzN5Q7oLiha4BwyRVIHvkITE1k5k+e/sM3YM3X3jLxu4aRHP2LLS0tb5/l+YcHpIosoOB8mgDe+AiWWHg==
  • 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=IpoT2NeiX+46NXakp8ciBcBzSbsHi0V8VsopJZM8Pq4=; b=lsP14IsHdxLb150A8yUwdmetJJ6imajNb2ztuKtNCYdUZMmXOtlil0AOkB2t2bd2HY1NzA4m1vSpDHFy5zHr111gTBx3eTt4M9QbD1Ra0dhV3ZeFXqFRZBQYU77n8c3PPGAHA2JnLQAterWcIjEYkChrfPdgtY5FOT5+9Wp3BAZtvuBjuFJHJl4sJv5t0sgWAIcRCe9ql/CsXeLHdmcL7Rz18kQhYw6D8+UovmebCA0d8iKzC8a/9wcMkhveea6GZ5oZLm626VliBbHNxvh5N3HpwjZWPo/Sr4c0nl6VjKux8zmcLMOv4TDsuNfHESd1oAjlh/hIl0jgOjtoubd3Gw==
  • Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=XwTQH8CU+fBWf0ZxY8v0mmpG3p9PPLweFXpgE9UFmZroeTIDDV4m1oEYZNDADg81oBiFIfJ12x0sjz2B73iwDE9QDpmjZ/G7g3fcO6soZmXpIhgG/LrV0GXXMF1meNviNBuG4mZuoUGYrkrkxhE6TUZkpHoUgLqUmIcCk9gk6F1O1JJq767EcgYGoNUpslp8CbNeui35q3Zi1JzI/zZRBsyNfQ74jtGL2Pwgu3vLHUDmmqsnmeBeU6/P+0Zw0EjRVeMn3Aj74hS6fnqAgH1zB0UC3nz840a1UOzk3ZFZ2FhsO17uT7hdLTGSqJ5l0fWY9BYBgAUdXvUtNEpl7TZCCA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ph1YtzLJ+AuNPRsoXOjfFh/+zZ2DFQHhevSVqNYLEtV5Qn5LmisHTsiZw8KebjNLy2YuvKtQJVE+7f7DByL+sHE6Xg1pWh5iAqcDjTs5dOM0LgSBr5TMgCo9k2vXlp5k73AANI6ELgSxszgfSdd2MhsXH/sBzt1vWSY5JkePLmvhdYQ/r+V5s3Q8DiYEWVDrN8SMSoJrNreUEihftoQefHqXzPSXXBoEV0LXgUaUxZ9M6m1PfL540JFRx4lvHFOduxPS0t1zu04849fldHyniHkqdjlynUiI1rl1RLSNEIqLCi8SxpglANfUl2QmJGBLdMO2gwexO088xL2mzVzCOQ==
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=selector1 header.d=arm.com header.i="@arm.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"
  • Authentication-results-original: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Tue, 10 Nov 2026 14:48:49 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Thread-index: AQHdZlcKV4nBdqhgpUm+3EOuuWX7vbcneDkA
  • Thread-topic: [PATCH v13 05/14] xen/arm: gic-v3: Implement GICv3 suspend/resume functions

Hi Mykola,

> On 27 Oct 2026, at 22:05, Mykola Kvach <mykola_kvach@xxxxxxxx> wrote:
> 
> System suspend may lead to a state where GIC would be powered down.
> Therefore, Xen should save/restore the context of GIC on suspend/resume.
> 
> Note that the context consists of states of registers which are
> controlled by the hypervisor. Other GIC registers which are accessible
> by guests are saved/restored on context switch.
> 
> Before continuing suspend, also verify that the physical CPU interface
> has no Group 1 active-priority state left. Use ICC_CTLR_EL1.PRIbits to
> decide which ICC_AP1R<n>_EL1 registers are implemented, so Xen does not
> read an unimplemented AP1R register.
> 
> Have gicv3_suspend() panic if the Redistributor does not set
> GICR_WAKER.ChildrenAsleep before the timeout. Clearing ProcessorSleep
> while ChildrenAsleep is still zero is UNPREDICTABLE, so Xen cannot safely
> undo this transition and restore the CPU interface. Keep error reporting
> in gicv3_disable_redist(), including the CPU.
> 
> Check active priorities before disabling the CPU and virtual interfaces,
> while local IRQs are masked. Return directly on failure, without changing
> the interfaces or requesting Redistributor sleep.
> 
> Signed-off-by: Mykola Kvach <mykola_kvach@xxxxxxxx>

Looks good to me with one nit:
With your renaming to nr_block_irqs some lines are now 81 chars it seems.

With that handled:
Reviewed-by: Bertrand Marquis <bertrand.marquis@xxxxxxx>

Cheers
Bertrand




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.