Description
During emulation, the semu_start() function initializes a single HART with a hartid of 0 and a start_addr value of (RAM_SIZE - 1024 * 1024). This means that there is only one HART present throughout the emulation process.
However, HSM (Hart Stete Management) is a mechanism used to manage the state of processor cores and is commonly applied in multi-core processor systems. It involves saving and restoring the HART's register state, program counter, and other contents when switching between different tasks or processes.
In a single-core processor system (only one HART), frequent HART state switching is not required.
Expectations:
Implement multi-core RISC-V processor system followed HSM State Machine
Validation:
check cat/proc/cpuinfo
, currently as follows:
# cat /proc/cpuinfo
processor : 0
hart : 0
isa : rv32ima
mmu : sv32
mvendorid : 0x12345678
marchid : 0x80000001
mimpid : 0x1