diff options
Diffstat (limited to 'arch/riscv64/kernel/arch.c')
| -rw-r--r-- | arch/riscv64/kernel/arch.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/riscv64/kernel/arch.c b/arch/riscv64/kernel/arch.c index 4561d8b..5dc50cf 100644 --- a/arch/riscv64/kernel/arch.c +++ b/arch/riscv64/kernel/arch.c @@ -13,7 +13,18 @@ #include "csr.h" #include "arch.h" -id_t __cpuid_to_hartid[MAX_CPUS]; +/** Array where indexing is done with CPU IDs, giving the corresponding hart ID. */ +static id_t __cpuid_to_hartid[MAX_CPUS]; + +id_t cpuid_to_hartid(id_t cpu) +{ + return __cpuid_to_hartid[cpu]; +} + +void set_hartid(id_t cpu, id_t hartid) +{ + __cpuid_to_hartid[cpu] = hartid; +} id_t hartid_to_cpuid(id_t hart) { |
