blob: 678e1963fb40a9b6d68ab68c82ce072b9131d8d7 [file] [log] [blame]
#include "springbok.h"
extern "C" void print_csrs(void) {
uint32_t mcause;
uint32_t mepc;
uint32_t mtval;
uint32_t misa;
uint32_t mtvec;
uint32_t mhartid;
uint32_t marchid;
uint32_t mvendorid;
uint32_t mimpid;
__asm__ volatile("csrr %[MCAUSE], mcause"
: [MCAUSE] "=r"(mcause):);
__asm__ volatile("csrr %[MEPC], mepc"
: [MEPC] "=r"(mepc):);
__asm__ volatile("csrr %[MTVAL], mtval"
: [MTVAL] "=r"(mtval):);
__asm__ volatile("csrr %[MISA], misa"
: [MISA] "=r"(misa):);
__asm__ volatile("csrr %[MTVEC], mtvec"
: [MTVEC] "=r"(mtvec):);
__asm__ volatile("csrr %[MHARTID], mhartid"
: [MHARTID] "=r"(mhartid):);
__asm__ volatile("csrr %[MARCHID], marchid"
: [MARCHID] "=r"(marchid):);
__asm__ volatile("csrr %[MVENDORID], mvendorid"
: [MVENDORID] "=r"(mvendorid):);
__asm__ volatile("csrr %[MIMPID], mimpid"
: [MIMPID] "=r"(mimpid):);
LOG_ERROR("MCAUSE:\t\t0x%08X", mcause);
LOG_ERROR("MEPC:\t\t0x%08X", mepc);
LOG_ERROR("MTVAL:\t\t0x%08X", mtval);
LOG_ERROR("MISA:\t\t0x%08X", misa);
LOG_ERROR("MTVEC:\t\t0x%08X", mtvec);
LOG_ERROR("MHARTID:\t\t0x%08X", mhartid);
LOG_ERROR("MARCHID:\t\t0x%08X", marchid);
LOG_ERROR("MVENDORID:\t0x%08X", mvendorid);
LOG_ERROR("MIMPID:\t\t0x%08X", mimpid);
}