[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: Luca Fancellu <Luca.Fancellu@xxxxxxx>
- Date: Fri, 8 May 2026 13:26:54 +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=gmail.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=8yNstBt9AM+ciEjllsDNPg7NlbAi4aYRocuTHW9WGrc=; b=kNEpGNg+jMz8esHDDgQt/RFsgsptB+YsLOz1kasoyz9dpNnxQlJEflpNtaBA80e/6FyTizFxX8zHC+/krDhtKiwrTz/MuQ7V65Cnn0O2oweGUbBtOGX7IZjPRWErj0y1x+Tu4WbCmTm4sbbsF8Zug4dSk20QikhFZDrYcsESB0lSIppwqIJFfun6mLCxHiR02+Of2h6dbH6DWfecHi8AOUHxI6cYWU54ZGPhxWCG37y1OnZwFDD6OPHCHlDP+k9sqxNM5+02d/h+z2QYko0GwxTwVqvPhmJTCAAEU+DoJOxVQrczEGNBzQ+UxaMxSnTfP6DWkUbXxlyZrjJtkzJdxA==
- 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=8yNstBt9AM+ciEjllsDNPg7NlbAi4aYRocuTHW9WGrc=; b=w4vSJqZ+7YcquQ0zsVKc+MBhT2m4FHqEz03MyN2OovTDJGygmvdRjyokIschX29XTSewf8iPmifNMWXva3BCwM9BnLnVx9t82qroUwcW+2iP1NfuUEyKL6R5QiWRHT/+HZqMYMuJPbZSmXRtpvoj9GnnFZxNT+aiRu/zRFOyVXCbmciPbsfmygK8hjuiyp2eVMe0KbrPIzuGQV3+iDJ7XrEAbFmqu2tDXDjbaAAwbd4FzKmWYcXaEQ3aSXwP2ObnP87OfaiOI7IY5PKuKVWeVPfBu7MCKkMPhl3SHciVYlmTlWLuUYLJjh8EuMOPcTpT/LMvwTVeLSf7awW0zRGHSw==
- Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=BzB03V4U73CWbTqrdmiphmbutRhcSti1bblh3d9SkyrJAj1XbifalpU2fL8kh9TKlWgda3eKwPqpahXiylrpK9vOeyFn4VEYVAkX3AAJ70LSIvn/nN2YW1RHFPQ79w5bywjN+8fyhYd8031UuwQ2Y9t1G5W/gbD8E/tdDx7S47hke5C+C90R4TTBMNdki5Myr07vHfx0JOvHI5G5jjG3VQVKdXz4qu2k65Wmwtn+st9vt4gs3X2Bb/vUEstol6dW+4Dioy58gT/rqcyh/b2YBqjfsuGzwJDdzeemKV+Kq3bM+/aOYTmtZDPP3QtLiyDt/oThLNRLs+f+yZX9TFewoA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JPnYLWMBzdwHtU60mKatuw6U9AqKl1Y8JHc4yLqK3yoPieGWpuxEW8AAN1lb82hVMdFP7uOBpOQwVmT2QgWJVsPJ+M87Ocx0m4v+airP4xXC+snXA8B6vMoBFLRtKkRgJdrdFdjYp9rggzhcWUfMK1yV+nYaxn4Wj9/vdjH6A0H6SqDVg3SGSGAaIEq+1po6qLwmGOIeYc37cWEHamredvQb1ZYOnzbazyWPyObjv3JUIOiy0RlOq40imbenxrVWVwwinzGdTiDgldaLDLHESKVsI6+VEu4yVHXOfdN+MH2+F/kRswGV+UzDxE+KWmstO0igXnX0j44+2Iknk6DrGQ==
- 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: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.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>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
- Delivery-date: Fri, 08 May 2026 13:28:25 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Nodisclaimer: true
- Thread-index: AQHc1lUPIk7A8CPopkGFdHGIM/WlP7X/oqWAgASNN4A=
- Thread-topic: [PATCH v8 10/13] xen/arm: Resume memory management on Xen resume
Hi Mykola,
>>> 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)
>>
>> I think we should mask all exceptions here:
>> msr DAIFSet, 0xf
>>
>> until we resume correctly the status (VBAR_EL2, etc).
>
> This was discussed in an earlier version:
>
> https://patchew.org/Xen/cover.1741164138.git.xakep.amatop@xxxxxxxxx/2ef15cb605f987eb087c5496d123c47c01cc0ae7.1741164138.git.xakep.amatop@xxxxxxxxx/#CAGeoDV97no7mXSKd7auFu5E85wSXAHKWvqGW2=-VEAbkrTyU8Q@xxxxxxxxxxxxxx
>
> For SYSTEM_SUSPEND, PSCI ties the call semantics to CPU_SUSPEND. In
> particular, section 5.20.2 says that the caller must observe all the rules
> described for CPU_SUSPEND, and section 6.4 explicitly says that the initial
> state rules also apply to SYSTEM_SUSPEND.
>
> For the return Exception level on AArch64, section 6.4.3.3 requires
> SPSR_ELx.{D,A,I,F} to be set to {1, 1, 1, 1}. Therefore Xen expects to enter
> this resume path with DAIF already masked by PSCI-compliant firmware.
>
> I agree this assumption is not obvious from the code, so I will add a comment
> at the resume entry point to document that this path relies on the PSCI
> initial
> core configuration requirements.
Yes please, something along the line of
/*
* PSCI SYSTEM_SUSPEND follows CPU_SUSPEND initial-state rules.
* On AArch64, firmware must return with SPSR_ELx.DAIF set, so
* PSTATE.DAIF is already masked on entry here.
*/
Cheers,
Luca
|