All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arm64: cpufeature: Expose the real mpidr value to EL0
@ 2023-09-12  3:52 ` guojinhui.liam
  0 siblings, 0 replies; 17+ messages in thread
From: guojinhui.liam @ 2023-09-12  3:52 UTC (permalink / raw)
  To: catalin.marinas, will
  Cc: lizefan.x, linux-arm-kernel, linux-kernel, guojinhui.liam

In EL0, it can get the register midr's value to distinguish vendor.
But it won't return real value of the register mpidr by using mrs
in EL0. The register mpidr's value is useful to obtain the cpu
topology information.

In some scenarios, the task scheduling in userspace can be
optimized with CPU Die information.

Signed-off-by: guojinhui.liam <guojinhui.liam@bytedance.com>
---
 arch/arm64/include/asm/sysreg.h | 3 ---
 arch/arm64/kernel/cpufeature.c  | 2 +-
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h
index 38296579a4fd..1885857c8a22 100644
--- a/arch/arm64/include/asm/sysreg.h
+++ b/arch/arm64/include/asm/sysreg.h
@@ -901,9 +901,6 @@
 #define SYS_TFSR_EL1_TF0	(UL(1) << SYS_TFSR_EL1_TF0_SHIFT)
 #define SYS_TFSR_EL1_TF1	(UL(1) << SYS_TFSR_EL1_TF1_SHIFT)
 
-/* Safe value for MPIDR_EL1: Bit31:RES1, Bit30:U:0, Bit24:MT:0 */
-#define SYS_MPIDR_SAFE_VAL	(BIT(31))
-
 #define TRFCR_ELx_TS_SHIFT		5
 #define TRFCR_ELx_TS_MASK		((0x3UL) << TRFCR_ELx_TS_SHIFT)
 #define TRFCR_ELx_TS_VIRTUAL		((0x1UL) << TRFCR_ELx_TS_SHIFT)
diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
index b018ae12ff5f..6e18597fdcc3 100644
--- a/arch/arm64/kernel/cpufeature.c
+++ b/arch/arm64/kernel/cpufeature.c
@@ -3450,7 +3450,7 @@ static inline int emulate_id_reg(u32 id, u64 *valp)
 		*valp = read_cpuid_id();
 		break;
 	case SYS_MPIDR_EL1:
-		*valp = SYS_MPIDR_SAFE_VAL;
+		*valp = read_cpuid_mpidr();
 		break;
 	case SYS_REVIDR_EL1:
 		/* IMPLEMENTATION DEFINED values are emulated with 0 */
-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2023-09-13 18:58 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-12  3:52 [PATCH] arm64: cpufeature: Expose the real mpidr value to EL0 guojinhui.liam
2023-09-12  3:52 ` guojinhui.liam
2023-09-12  8:31 ` Robin Murphy
2023-09-12  8:31   ` Robin Murphy
2023-09-12 10:51   ` Jonathan Cameron
2023-09-13 10:51     ` Jinhui Guo
2023-09-13 10:51       ` Jinhui Guo
2023-09-13 13:11       ` Jonathan Cameron
2023-09-13 13:11         ` Jonathan Cameron
2023-09-13  9:44   ` guojinhui
2023-09-13  9:44     ` guojinhui
2023-09-13 11:23     ` Robin Murphy
2023-09-13 11:23       ` Robin Murphy
2023-09-13 13:06       ` Jonathan Cameron
2023-09-13 13:06         ` Jonathan Cameron
2023-09-13 18:57         ` Robin Murphy
2023-09-13 18:57           ` Robin Murphy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.