目前opensbi的源码结构是比较简单清晰的,除了sbi目录内是核心文件,utils主要是用于设备树解析libfdt以及其他的驱动文件,当然这里的驱动都是使用设备树(设备树是从linux内核中广泛使用的一种设备描述文件...对于scratch_init,它执行完之后会转而执行_fdt_reloc_again这个东西,其实也是relocate的意思,只不过这个是relocate fdt文件而已
_fdt_reloc_again..._fdt_reloc_done:
/* mark boot hart done */
li t0, BOOT_STATUS_BOOT_HART_DONE
lla t1, _boot_status...,
.irqchip_init = fdt_irqchip_init,
.irqchip_exit = fdt_irqchip_exit,
.ipi_init = fdt_ipi_init,...fw_platform_lookup_special(fdt, root_offset);
model = fdt_getprop(fdt, root_offset, "model", &len);