OpenSBIRISC-V 開源 Supervisor 二進(jìn)制接口
RISC-V Supervisor二進(jìn)制接口(SBI)是以下之間的推薦接口:
- 在M模式下運(yùn)行的特定于平臺的固件,以S模式或HS模式執(zhí)行的引導(dǎo)加載程序,管理程序或通用OS。
- 在HS模式下運(yùn)行的管理程序,以及在VS模式下執(zhí)行的引導(dǎo)加載程序或通用OS。
OpenSBI項目的目標(biāo)是為在M模式下執(zhí)行的平臺特定固件(上面提到的情況1)提供RISC-V SBI規(guī)范的開源參考實(shí)現(xiàn)。 RISC-V平臺和片上系統(tǒng)供應(yīng)商可以輕松擴(kuò)展OpenSBI實(shí)現(xiàn),以適應(yīng)特定的硬件配置。
OpenSBI的主要組件以獨(dú)立于平臺的靜態(tài)庫libsbi.a的形式提供,實(shí)現(xiàn)了SBI接口。固件或引導(dǎo)加載程序?qū)崿F(xiàn)可以鏈接到此庫,以確保符合SBI接口規(guī)范。 libsbi.a還定義了用于與平臺固件實(shí)現(xiàn)提供的平臺特定操作集成的接口(例如,控制臺訪問功能,處理器間中斷控制等)。
為了說明libsbi.a庫的使用,OpenSBI還提供了一組特定于平臺的支持示例。對于每個示例,都可以編譯特定于平臺的靜態(tài)庫libplatsbi.a。該庫通過將libsbi.a與必要的平臺相關(guān)硬件操作函數(shù)集成來實(shí)現(xiàn)SBI調(diào)用處理。對于所有支持的平臺,OpenSBI還提供了使用平臺libplatsbi.a構(gòu)建的多個運(yùn)行時固件示例。這些示例固件可用于替換傳統(tǒng)的riscv-pk引導(dǎo)加載程序(也稱為BBL),并允許使用眾所周知的引導(dǎo)加載程序,如U-Boot(https://git.denx.de/u-boot.git)。
評論
圖片
表情
