lib: sbi: Improve misa_string() implementation

The RISC-V ISA string does not follow alphabetical order. Instead,
we have a RISC-V specific ordering of extensions in the RISC-V ISA
string. This patch improves misa_string() implementation to return
a valid RISC-V ISA string.

Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
This commit is contained in:
Anup Patel
2020-05-05 11:46:25 +05:30
committed by Anup Patel
parent 5338679ff0
commit dc38929dfb
3 changed files with 52 additions and 19 deletions

View File

@@ -53,15 +53,15 @@ static void sbi_boot_prints(struct sbi_scratch *scratch, u32 hartid)
sbi_printf("Error %d getting MISA XLEN\n", xlen);
sbi_hart_hang();
}
xlen = 16 * (1 << xlen);
misa_string(str, sizeof(str));
misa_string(xlen, str, sizeof(str));
/* Platform details */
sbi_printf("Platform Name : %s\n", sbi_platform_name(plat));
sbi_printf("Platform HART Features : RV%d%s\n", xlen, str);
sbi_printf("Platform HART Count : %u\n",
sbi_platform_hart_count(plat));
sbi_printf("Current HART ID : %u\n", hartid);
/* Boot HART details */
sbi_printf("Boot HART ID : %u\n", hartid);
sbi_printf("Boot HART ISA : %s\n", str);
/* Firmware details */
sbi_printf("Firmware Base : 0x%lx\n", scratch->fw_start);
sbi_printf("Firmware Size : %d KB\n",