#include "emulator/csr.h" #include "emulator/hart.h" static uint32_t csr_minfo_zero(Hart* hart, uint32_t v, enum CsrAction a) { return 0; } static uint32_t csr_mhartid(Hart* hart, uint32_t v, enum CsrAction a) { return hart->hartid; } void csr_init_machine_information(Hart* hart) { hart->csrs[CSR_MVENDORID].action = csr_minfo_zero; hart->csrs[CSR_MARCHID].action = csr_minfo_zero; hart->csrs[CSR_MIMPID].action = csr_minfo_zero; hart->csrs[CSR_MHARTID].action = csr_mhartid; }