[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


 


Rackspace

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