platform_guide.md 1.4 KB

OpenSBI Platform Support Guideline

The OpenSBI platform support is a set of platform specific hooks provided in the form of a struct sbi_platform instance. It is required by:

  1. libplatsbi.a - A platform specific OpenSBI static library, that is, libsbi.a plus a struct sbi_platform instance installed at /platform//lib/libplatsbi.a
  2. firmwares - Platform specific bootable firmware binaries installed at /platform//bin

    A complete doxygen-style documentation of struct sbi_platform and related APIs is available in sbi/sbi_platform.h.

    Adding a new platform support

    The support of a new platform named can be added as follows:

    1. Create a directory named under platform/ directory
    2. Create a platform configuration file named config.mk under platform// directory. This configuration file will provide compiler flags, select common drivers, and select firmware options
    3. Create platform//objects.mk file for listing the platform specific object files to be compiled
    4. Create platform//platform.c file providing a struct sbi_platform instance
    5. A template platform support code is available under the platform/template. Copying this directory as new directory named under platform/ directory will create all the files mentioned above.