ricv/riscv_cpuid: Return meaningful values for CPU/Hart ID when SMP=no
Return 0 for CPU ID for any hart ID, and return the current Hart ID for any CPU ID. At least these values are somewhat usable / meaningful in non-SMP configurations.
This commit is contained in:
parent
53d90c8205
commit
5de9d957e6
2 changed files with 11 additions and 3 deletions
|
@ -71,9 +71,13 @@ int up_this_cpu(void)
|
|||
*
|
||||
****************************************************************************/
|
||||
|
||||
int weak_function riscv_hartid_to_cpuid(int cpu)
|
||||
int weak_function riscv_hartid_to_cpuid(int hart)
|
||||
{
|
||||
return cpu - CONFIG_ARCH_RV_HARTID_BASE;
|
||||
#ifdef CONFIG_SMP
|
||||
return hart - CONFIG_ARCH_RV_HARTID_BASE;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -87,5 +91,9 @@ int weak_function riscv_hartid_to_cpuid(int cpu)
|
|||
|
||||
int weak_function riscv_cpuid_to_hartid(int cpu)
|
||||
{
|
||||
#ifdef CONFIG_SMP
|
||||
return cpu + CONFIG_ARCH_RV_HARTID_BASE;
|
||||
#else
|
||||
return (int)riscv_mhartid();
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -436,7 +436,7 @@ uintptr_t riscv_mhartid(void);
|
|||
*
|
||||
****************************************************************************/
|
||||
|
||||
int riscv_hartid_to_cpuid(int cpu);
|
||||
int riscv_hartid_to_cpuid(int hart);
|
||||
|
||||
/****************************************************************************
|
||||
* Name: riscv_cpuid_to_hartid
|
||||
|
|
Loading…
Reference in a new issue