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

[PATCH v1] xen/arm: arm32: Add support to identify the Cortex-R52 processor


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>
  • Date: Tue, 20 Jun 2023 16:17:36 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=Bo2uUjOS32YTL54q1Rj6J7cbgK8GERafP9GY+0vZaNw=; b=EoLMhNdZOU2X18xiESYuvSVm6aW/0w7mJe3uPNB4VB18O1V8GWDRqli5a/PGFlkR8yBUqMgfHI1ZxEqMQRzbR778YSRvegXusOcAEmMX7K8viZMs/IKuhYTQJYhn0o5vEGiHigV+9q6qutCT+xp0q0kNIkIT/XCBjuFTgxGtuDcx+7gK56q1y+534DvXG2Y/pp+1NbfGpTAHRgyR2KkBUfMO+4oolhvyPUpje7sXE/CpaaQiRvctImm21/PX9sSWwsOI/LcKO3rAtYucTwL05uHAgN3Sh96VB9LUbRhBd5xwst4+vEFZUs1SNCQShZK21BwWq9QyaJ59JwqA3rYqNg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iU1q72wmyEOjz0m5lfk8wkJO0EtyiDzvWXkQqQGPHjnuiXf46996+Lgti7cLhFPqnqLYrCunXfopUq9XlljTMc0Mg+mz9PySKT/FOW6bCeQKgrfjXfR3FGfWQDeJAIbRTqkVYpOi4/l6XS3sIJym5pC2tLlue+OYZgUKyfUe9JmU/bmD7QwP5ctD7FXxMHbIIRZEM5DnfD1+WaoOD8Gk22yDdeFX6Rn2xNkOcr2+TWKHm+GlIrlWZL/ZVjw9r/u9mY0UkyMjjtvtCFrakRtr9WxGXvomc5TeLZXrqBU/JG+XH9IGE5Bce2aXBoIy7FYahxqO7cax+BFFUeTn9uxxzw==
  • Cc: <sstabellini@xxxxxxxxxx>, <stefano.stabellini@xxxxxxx>, <julien@xxxxxxx>, <Volodymyr_Babchuk@xxxxxxxx>, <bertrand.marquis@xxxxxxx>, Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>
  • Delivery-date: Tue, 20 Jun 2023 15:18:08 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Add a special configuration (CONFIG_AARCH32_V8R) to setup the Cortex-R52
specifics.

Cortex-R52 is an Arm-V8R AArch32 processor.

Refer ARM DDI 0487I.a ID081822, G8-9647, G8.2.112 MIDR,
bits[31:24] = 0x41 , Arm Ltd
bits[23:20] = Implementation defined
bits[19:16] = 0xf , Arch features are individually identified
bits[15:4] = Implementation defined
bits[3:0] = Implementation defined

Thus, the processor id is 0x410f0000 and the processor id mask is
0xff0f0000

Also, there is no special initialization required for R52.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx>
---
 xen/arch/arm/Kconfig         |  7 +++++++
 xen/arch/arm/arm32/Makefile  |  1 +
 xen/arch/arm/arm32/proc-v8.S | 32 ++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+)
 create mode 100644 xen/arch/arm/arm32/proc-v8.S

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 61e581b8c2..c45753a2dd 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -3,6 +3,13 @@ config ARM_32
        depends on "$(ARCH)" = "arm32"
        select ARCH_MAP_DOMAIN_PAGE
 
+config AARCH32_V8R
+       bool "AArch32 Arm V8R Support (UNSUPPORTED)" if UNSUPPORTED
+       def_bool n
+       depends on ARM_32
+       help
+         This option enables Armv8-R profile for AArch32.
+
 config ARM_64
        def_bool y
        depends on !ARM_32
diff --git a/xen/arch/arm/arm32/Makefile b/xen/arch/arm/arm32/Makefile
index 520fb42054..2ab808a7a8 100644
--- a/xen/arch/arm/arm32/Makefile
+++ b/xen/arch/arm/arm32/Makefile
@@ -8,6 +8,7 @@ obj-y += head.o
 obj-y += insn.o
 obj-$(CONFIG_LIVEPATCH) += livepatch.o
 obj-y += proc-v7.o proc-caxx.o
+obj-$(CONFIG_AARCH32_V8R) += proc-v8.o
 obj-y += smpboot.o
 obj-y += traps.o
 obj-y += vfp.o
diff --git a/xen/arch/arm/arm32/proc-v8.S b/xen/arch/arm/arm32/proc-v8.S
new file mode 100644
index 0000000000..c5a566b165
--- /dev/null
+++ b/xen/arch/arm/arm32/proc-v8.S
@@ -0,0 +1,32 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/arm32/proc-v8.S
+ *
+ * AArch32 V8R specific initialization
+ *
+ * Copyright (C) 2023, Advanced Micro Devices, Inc. All Rights Reserved.
+ */
+
+#include <asm/arm32/processor.h>
+#include <asm/sysregs.h>
+
+cr52_init:
+        mov pc, lr
+
+        .section ".proc.info", #alloc
+        .type __v8_cr52_proc_info, #object
+__v8_cr52_proc_info:
+        .long 0x410F0000             /* Cortex-R52 */
+        .long 0xFF0F0000             /* Mask */
+        .long cr52_init
+        .size __v8_cr52_proc_info, . - __v8_cr52_proc_info
+
+        .section ".proc.info", #alloc
+        .type __v8_cr52_proc_info, #object
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1




 


Rackspace

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