mirror of
https://github.com/apache/nuttx.git
synced 2026-10-13 09:10:17 +00:00
Implement hartid<->cpuid mapping for RISC-V. This is necessary for some platforms which cannot use 1:1 mapping between logical and physical CPU / core IDs. One example is MPFS where hart0 cannot be used for NuttX SMP as it is a less capable "monitor" core (E51) compared to the application cores hart1...3 (E54). Why not just use a generic offset then? We also need the physical hart ID for many things: - Communication between harts (IPI) - External interrupt acknowledgment (interrupt claim for specific CPU) - Communication to SBI Thus, create procedures that can do this translation: - The default mapping is still logical=physical. - Another flavor is to use the existing CONFIG_ARCH_RV_HARTID_BASE config variable, which is just a simple offset - The final flavor is to overload hartid<->cpuid on a per chip basis (no example for this is provided yet) |
||
|---|---|---|
| .. | ||
| bl602 | ||
| bl808 | ||
| c906 | ||
| esp32c3 | ||
| esp32c3-legacy | ||
| esp32c6 | ||
| esp32h2 | ||
| fe310 | ||
| hpm6000 | ||
| hpm6750 | ||
| jh7110 | ||
| k210 | ||
| k230 | ||
| litex | ||
| mpfs | ||
| qemu-rv | ||
| rv32m1 | ||
| sg2000 | ||
| thead | ||
| .gitignore | ||
| arch.h | ||
| barriers.h | ||
| csr.h | ||
| elf.h | ||
| inttypes.h | ||
| irq.h | ||
| limits.h | ||
| mode.h | ||
| setjmp.h | ||
| spinlock.h | ||
| stdarg.h | ||
| syscall.h | ||
| types.h | ||