[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 2/3] xen/arm32: Create the same boot-time MPU regions as arm64
- To: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>
- From: Luca Fancellu <Luca.Fancellu@xxxxxxx>
- Date: Tue, 8 Apr 2025 09:06:50 +0000
- Accept-language: en-GB, en-US
- Arc-authentication-results: i=2; mx.microsoft.com 1; spf=fail (sender ip is 4.158.2.129) smtp.rcpttodomain=amd.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=ZjfKsFNQY8GAg6w7ApVnQel3l2kAt7UeaB4GFYaYTm4=; b=bv1fKZn3b51JRIoFv3GBEyirpHP41i7QGZ/8L8Z/ve/e9dR49/TLuDRXySZfmfasIxFJFQs6VMIL2TDat3PpPRyScAbLav2PkZ8MRw4VdX4oflQ2Sdbh0zqEhlh+BCWcYXr3cTynwLS0ivuCpWHea19yp/c2YjvS6g+DLvQU9+4LN6s4BDP96fW6HNC7j3yDiwRWVCX8q0sa+9nLeQZ9ZEkSs44Ul16cy9EsWz2+VNZj93SyYFSYZpxdPqXicpOYE8QkX8HHo2+8u6iUmxmHYnJhWgBWei/yueoc6b/9ellPzuGWz6HLy2iYA3AoJK1QPKUD+uCkiIOLHJtVP6z9Tg==
- 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=ZjfKsFNQY8GAg6w7ApVnQel3l2kAt7UeaB4GFYaYTm4=; b=btVyXR6hVVEYaKMT0FSayF9U2cI3eabbHiRXfcccnyLyMHeXCrPWcg8TW/khMzvdPQkq6aaGs1wL4xA0YHo7YVBheRvXh5LWw4iRDBp9Y9S74qz8dBMb8Mdo7GEGb5Wh5BTRHpIqxqsaNDK9aBGrz7Y2t/pZfNJqbZj6waCpGkACRtjMBy01rH5Hy8XNBH4dnzwTde7Kmo/YYHG3LEYtuEJraq6MP0KoNWEDBsCx3eVk+U8MRKTAIouEB67Lip4n+jt6aGzgS48SBx2qGBSfnoqsGJrZeTy+XLsSut8sHRIJWJ1tjRVlUgbZ2FAp19jthKIhMTLhyah7QKLBdelWUg==
- Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=R071GjeugQwYV4zpMtmvSYN/g02J/y3rHg37etvMACmTivs7Bg9XypgJFWEXKfss1DQG01VDcsq4I2tcjtHucT1IYdCS8UDsP1ZhiqA0K7XWvF51GmsOzCylCgdz0vVTkGrLWck++p7mUWGza1xpIfpC3k33TNvJ7498liWGHAlFpay8nnPF28njMJLytTjtiuSNXN7d7OR68E0t+nbOsEGr+jAtyB94kxH9D1B2BSoaSjR5UhgUTtg6/bsvpBMlZmuo98YDDPgi8axjg6upOeZ2ja6fCh0wMdqfNAC2+7iT9dfp39qJFhC7S4Ube2vYz2T+437c4gfq9JlALYh0Hw==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cGnBN9XMIzYBtWgx5usN0BmaJFunFUyw5UrzKMx06f5Bk1gm1Ew7qjrMhi1BjAk+iudaIiI5AZ9zYrbPolwHzv6g/KSCbKGooGrbSyScI7Br6aDb+ff8QLwa2/aaeQ4hG5Ct6zffPfnzB2FR8+xupYvQZr4Uf+OuJ3N0Powht2cNCpZCulSEv1fHYNT4ek2EP+OuQw/tiOHivRRCTNumNvL2AGbrvM86bOfpzIgtYN13kxtWTLqlGkhz8LoSKWrfxNVXdTkkCDLmy5fRETvAtsvTk+zi/tMR38QMgdYYAnSMuiK7oEXOAeu0EQbgcC72j7MKWYcMof6Iq8nQHRS1GA==
- 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>, 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: Tue, 08 Apr 2025 09:07:48 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Nodisclaimer: true
- Thread-index: AQHbp+1A9+alQyM7NUm0i9guCUDbS7OZeyCA
- Thread-topic: [PATCH v5 2/3] xen/arm32: Create the same boot-time MPU regions as arm64
Hi Ayan,
> On 7 Apr 2025, at 19:44, Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx> wrote:
>
> We have created the same boot-time MPU protection regions as Armv8-R AArch64.
> Also, we have defined *_PRBAR macros for arm32. The only difference from
> arm64 is that XN is 1-bit for arm32.
> The macros have been defined in mpu/cpregs.h.
>
> Also defined WRITE_SYSREG_ASM() to write to system registers in assembly.
>
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>
> ---
>
[…]
> diff --git a/xen/arch/arm/include/asm/arm32/sysregs.h
> b/xen/arch/arm/include/asm/arm32/sysregs.h
> index 22871999af..a90d1610a1 100644
> --- a/xen/arch/arm/include/asm/arm32/sysregs.h
> +++ b/xen/arch/arm/include/asm/arm32/sysregs.h
> @@ -20,6 +20,13 @@
> * uses r0 as a placeholder register. */
> #define CMD_CP32(name...) "mcr " __stringify(CP32(r0, name)) ";"
>
> +#define REGION_TEXT_PRBAR 0x18 /* SH=11 AP=10 XN=0 */
> +#define REGION_RO_PRBAR 0x1D /* SH=11 AP=10 XN=1 */
> +#define REGION_DATA_PRBAR 0x19 /* SH=11 AP=00 XN=1 */
> +#define REGION_DEVICE_PRBAR 0x11 /* SH=10 AP=00 XN=1 */
> +
> +#define WRITE_SYSREG_ASM(v, name) mcr CP32(v, name)
probably the same applies to this patch, this one needs to stay where
__ASSEMBLY__ is defined?
The rest looks good to me!
Reviewed-by: Luca Fancellu <luca.fancellu@xxxxxxx>
Cheers,
Luca
|