From 2dc333d65c6c25531984419669027fa547a12c15 Mon Sep 17 00:00:00 2001 From: Andy Ross Date: Thu, 2 Sep 2021 08:48:42 -0700 Subject: [PATCH] soc: intel_adsp: Abstract out a prid() accessor Useful utility. Should probably have this in the arch layer. Signed-off-by: Andy Ross --- soc/xtensa/intel_adsp/common/soc_mp.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/soc/xtensa/intel_adsp/common/soc_mp.c b/soc/xtensa/intel_adsp/common/soc_mp.c index 7d1f69772e6..9a575dd0680 100644 --- a/soc/xtensa/intel_adsp/common/soc_mp.c +++ b/soc/xtensa/intel_adsp/common/soc_mp.c @@ -264,6 +264,14 @@ bool arch_cpu_active(int cpu_num) return !!(cpu_mask & BIT(cpu_num)); } +static ALWAYS_INLINE uint32_t prid(void) +{ + uint32_t prid; + + __asm__ volatile("rsr %0, PRID" : "=r"(prid)); + return prid; +} + void arch_start_cpu(int cpu_num, k_thread_stack_t *stack, int sz, arch_cpustart_t fn, void *arg) {