Added SBI functions
This commit is contained in:
parent
b1a327cccf
commit
5727356559
@ -6,22 +6,41 @@ void sbi_call(rv32_cpu_t* cpu, uint32_t extension_id, uint32_t func_id)
|
||||
{
|
||||
switch(extension_id)
|
||||
{
|
||||
case SBI_EXTENSION_BASE:
|
||||
{
|
||||
switch(func_id)
|
||||
{
|
||||
case SBI_FUNCTION_GET_MVENDOR_ID:
|
||||
cpu->regs.a0 = 0;
|
||||
break;
|
||||
case SBI_FUNCTION_GET_MARCH_ID:
|
||||
cpu->regs.a0 = 0;
|
||||
break;
|
||||
case SBI_FUNCTION_GET_MIMPL_ID:
|
||||
cpu->regs.a0 = 0;
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr, "sbi_call: unknown function id 0x%x for base extension\n", func_id);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case SBI_EXTENSION_LEGACY_CONSOLE_PUTCHAR:
|
||||
{
|
||||
printf("%c", cpu->regs.a0);
|
||||
cpu->regs.a0 = 0;
|
||||
break;
|
||||
printf("%c", cpu->regs.a0);
|
||||
cpu->regs.a0 = 0;
|
||||
break;
|
||||
}
|
||||
case SBI_EXTENSION_LEGACY_SHUTDOWN:
|
||||
{
|
||||
case SBI_EXTENSION_LEGACY_SHUTDOWN:
|
||||
{
|
||||
printf("sbi_call: shutdown, goodbye !\n");
|
||||
cpu->sim_ticks_left = 1;
|
||||
break;
|
||||
}
|
||||
cpu->sim_ticks_left = 1;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
fprintf(stderr, "sbi_call: unknown extension id 0x%x\n", extension_id);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user