20 lines
453 B
C
20 lines
453 B
C
#include "emulator/csr.h"
|
|
|
|
#include "emulator/hart.h"
|
|
|
|
static uint32_t csr_misa(Hart* hart, uint32_t v, enum CsrAction a)
|
|
{
|
|
uint32_t misa = 0;
|
|
misa |= 1 << 30; // 32-bit
|
|
misa |= 1 << 8; // Base ISA
|
|
misa |= 1 << 12; // M extension
|
|
misa |= 1 << 18; // Supervisor mode
|
|
misa |= 1 << 20; // User mode
|
|
return misa;
|
|
}
|
|
|
|
void csr_init_machine_trap_setup(Hart* hart)
|
|
{
|
|
hart->csrs[CSR_MISA].action = csr_misa;
|
|
}
|