Files
opensbi/docs/platform_guide.md
Anup Patel 27b55bb4da docs: Add platform support guide
This patch adds initial platform support guide (i.e.
docs/platform_guide.md).

Signed-off-by: Anup Patel <anup.patel@wdc.com>
2019-01-30 12:14:30 +05:30

1.4 KiB

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 <install_directory>/platform/<platform_subdir>/lib/libplatsbi.a
  2. firmwares - Platform specific bootable firmware binaries installed at <install_directory>/platform/<platform_subdir>/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

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.