OpenSBI

OpenSBI

Informations
Développé par Western Digital et RISC-V International ()
Dernière version 1.6 ()[1]
Dépôt github.com/riscv-software-src/opensbi
Écrit en C
Type Firmware
Licence BSD 2-clauses (en)

OpenSBI est une implémentation en logiciel libre, sous licence BSD 2-clauses, de l'interface binaire du superviseur (anglais : Supervisor Binary Interface, SBI) de RISC-V, développé par Western Digital et des participants à la fondation RISC-V International. SBI permet au système d'exploitation d'interagir avec l'environnement d'exécution en mode superviseur (anglais : supervisor execution environment, SEE, également appelé mode machine, (anglais : machine mode), au sein de l'anneau de protection). Il a été définit pour l'architecture RISC−V afin de fournir une interface clairement définie pour le superviseur du système d'exploitation, standardisant les processus de virtualisation et d'ajout de nouvelle plateformes matérielles[2].

Il a également permis d'éliminer le besoin du système amorçage de Berkeley « Berkeley bootloader » (BBL), facilitant ainsi l'ajout dans les noyaux des systèmes d'exploitation des données des périphériques[2] et permet d'initialiser le matériel pendant la séquence de démarrage[3].

Dans l'architecture RISC-V, trois principaux modes sont utilisés. Le mode utilisateur (anglais : User Mode), mode superviseur (anglais : Supervisor Mode), mode machine (anglais : Machine Mode), SBI se situe entre le mode Superviseur de l'OS et le mode machine (ou SEE), ce dernier étant remplacé, dans le cas de la virtualisation, par l'environnement d'exécution hyperviseur (anglais : Hypervisor Execution Environment, HEE)[4].

Utilisation

QEMU l'inclut et l'utilise comme firmware par défaut pour la plateforme RISC-V[5].

Différentes implémentations libres de RISC-V en HDL, comme par exemple celles de la PULP-Plateform[6], et/ou proposées en ASIC par des industriels, proposent l'utilisation ou sont livrées avec OpenSBI dans le firmware de la séquence de démarrage de leur matériel.

Annexes

Notes et références

  1. « Release 1.6 », (consulté le )
  2. a et b (en) « RISC-V Community Releases OpenSBI to Foster Continued Ecosystem Growth », sur riscv.org,
  3. (en) « An overview of OpenSBI », sur Good Penguin,
  4. (zh) « OpenSBI背景介绍/编译/启动,及其和Linux交互 - 1 OpenSBI介绍 », sur cnblogs.com
  5. « RISC-V CPU firmware », sur qemu.org
  6. (en) « OpenSBI », sur Compte PULP-platform sur Github, ETH Zurich, Università di Bologna

Bibliographie

  • (en) RISC-V Platform Specification Task Group, RISC-V Supervisor Binary Interface Specification, RISC-V, (lire en ligne) (sources)
  • (en) Anup Patel, OpenSBI Deep Dive, Western Digital, (lire en ligne)

Articles connexes

Liens externes