diff --git a/src/devices/sbi/sbi.c b/src/devices/sbi/sbi.c index 14305bc..4f05820 100644 --- a/src/devices/sbi/sbi.c +++ b/src/devices/sbi/sbi.c @@ -13,16 +13,20 @@ void sbi_call(rv32_cpu_t* cpu, uint32_t extension_id, uint32_t func_id) case SBI_FUNCTION_GET_SPEC_VERSION: // Format: [31(reserved,0) 7 bits(major) 24 bits(minor)] // Version 2.0 - cpu->regs.a0 = 0x2000000; + cpu->regs.a0 = 0; + cpu->regs.a1 = 0x2000000; break; case SBI_FUNCTION_GET_MVENDOR_ID: cpu->regs.a0 = 0; + cpu->regs.a1 = 0; break; case SBI_FUNCTION_GET_MARCH_ID: cpu->regs.a0 = 0; + cpu->regs.a1 = 0; break; case SBI_FUNCTION_GET_MIMPL_ID: cpu->regs.a0 = 0; + cpu->regs.a1 = 0; break; default: fprintf(stderr, "sbi_call: unknown function id 0x%x for base extension\n", func_id);