info.c (557B)
1 // Copyright 2022, Brian Swetland <swetland@frotz.net> 2 // Licensed under the Apache License, Version 2.0 3 4 #include <hw/debug.h> 5 #include <hw/riscv.h> 6 #include <hw/intrinsics.h> 7 8 void start(uint32_t hartid, uint32_t dtb) { 9 xprintf("MSTATUS %08x\n", csr_read(CSR_MSTATUS)); 10 xprintf("MISA %08x\n", csr_read(CSR_MISA)); 11 xprintf("MCYCLE %08x\n", csr_read(CSR_MCYCLE)); 12 xprintf("DeviceTree %08x\n", dtb); 13 14 uint32_t n = csr_read(CSR_MISA); 15 xprintf("ISA: RV32"); 16 for (int i = 0; i < 26; i++) { 17 if (n & (1<<i)) xputc('A'+i); 18 } 19 xputc('\n'); 20 }