diff --git a/lib/sbi/sbi_scratch.c b/lib/sbi/sbi_scratch.c index 2d03a60a..fe0856e3 100644 --- a/lib/sbi/sbi_scratch.c +++ b/lib/sbi/sbi_scratch.c @@ -26,9 +26,12 @@ int sbi_scratch_init(struct sbi_scratch *scratch) u32 i; const struct sbi_platform *plat = sbi_platform_ptr(scratch); - for (i = 0; i < sbi_platform_hart_count(plat); i++) + for (i = 0; i < sbi_platform_hart_count(plat); i++) { + if (sbi_platform_hart_disabled(plat, i)) + continue; hartid_to_scratch_table[i] = ((hartid2scratch)scratch->hartid_to_scratch)(i); + } return 0; }