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

Re: [PATCH v8 10/13] xen/arm: Resume memory management on Xen resume


  • To: Mykola Kvach <xakep.amatop@xxxxxxxxx>
  • From: Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Date: Thu, 7 May 2026 22:06:45 +0000
  • Accept-language: en-US
  • 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
  • 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=kKMahXZMeizvn2uXxNNtiXd1jfRfvyGi2cDqkfLqGGk=; b=yIEuCT7HED7h4jwcujEHaxndrGnU1NLcf7NHvFhZahb9TxMXtbhpCtNiBNmBvI2Y66Y8TC619Bp+y3IosbPrKOErt+wxRUBocbTby7ku6bNQz+9KIk1qZS1YAfDeEIzbONuOEnQUJ8WBGB8D1PbDFLDsFhFgKLWIZA/wwSbm6mT9vZkOQh/+sWTA0WkeeQ85VTg7+cIxmGlXkyUGyxEpAYybHwtWCscWf5mx2ttN2PSWXpzr4fnb5cJl2n870QQKsR3ST4er17eKpQ/LfnEHBt+BWFhoTYL9MX+fdAmFHS4gbvWyZekJwfptZ56O7W6qQbOdES6rgSmybIlcWoAUCA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YsKJWlSrobOh9ZuZYw1HtEnHBXoqnt+T54NOOpQr5tTuIGKx24iKaIUBHVbL2dUQkbKYjEQl1GRtY4CIFqvcgoE42YU4GeoZQuJbdOKWqLa7zVgVFNc0xZTmTQCPg6O3U05q2W0ZfqwbCeyn433DXMJsrWAFf8cHcAcxhnwYD/LXuYe4GTdhYHr721rlAGT4OELqklrwQn+vyOq6W1/ZJqUJsP00ePPi6EFG3x615LEI3ZZJ4Ap6Qy2TuM2K3x8JTQVI56z5d4FjjLrZ1EgLa45/zlOr+gHpPn8vGZu6K0XFEUFYqM2dqSl+cQRl5ikO+yX9f8GwAI6niLAzZAr6Lg==
  • 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"
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=epam.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Mykola Kvach <Mykola_Kvach@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>
  • Delivery-date: Thu, 07 May 2026 22:06:57 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHcwo4hrz/Zb3wCRUyCL/cJypc6rg==
  • Thread-topic: [PATCH v8 10/13] xen/arm: Resume memory management on Xen resume

Hi Mykola,

Mykola Kvach <xakep.amatop@xxxxxxxxx> writes:

> From: Mirela Simonovic <mirela.simonovic@xxxxxxxxxx>
>
> The MMU must be enabled during the resume path before restoring context,
> as virtual addresses are used to access the saved context data.
>

I agree with Luca, this patch does not makes sense as is. I don't see
why it should be separated from the rest of the resume path that is
added in the next patch

> This patch adds MMU setup during resume by reusing the existing
> enable_secondary_cpu_mm function, which enables data cache and the MMU.
> Before the MMU is enabled, the content of TTBR0_EL2 is changed to point
> to init_ttbr (page tables used at runtime).
>
> Signed-off-by: Mirela Simonovic <mirela.simonovic@xxxxxxxxxx>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xxxxxxxxxx>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@xxxxxxxx>
> Signed-off-by: Mykola Kvach <mykola_kvach@xxxxxxxx>
> ---
> Changes in v7:
> - no functional changes, just moved commit
> ---
>  xen/arch/arm/arm64/head.S | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
>
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index 72c7b24498..596e960152 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -561,6 +561,30 @@ END(efi_xen_start)
>  
>  #endif /* CONFIG_ARM_EFI */
>  
> +#ifdef CONFIG_SYSTEM_SUSPEND
> +
> +FUNC(hyp_resume)
> +        /* Initialize the UART if earlyprintk has been enabled. */
> +#ifdef CONFIG_EARLY_PRINTK
> +        bl    init_uart
> +#endif
> +        PRINT_ID("- Xen resuming -\r\n")
> +
> +        bl    check_cpu_mode
> +        bl    cpu_init
> +
> +        ldr   x0, =start
> +        adr   x20, start             /* x20 := paddr (start) */
> +        sub   x20, x20, x0           /* x20 := phys-offset */
> +        ldr   lr, =mmu_resumed
> +        b     enable_secondary_cpu_mm
> +
> +mmu_resumed:
> +        b .
> +END(hyp_resume)
> +
> +#endif /* CONFIG_SYSTEM_SUSPEND */
> +
>  /*
>   * Local variables:
>   * mode: ASM

-- 
WBR, Volodymyr


 


Rackspace

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