mirror of
https://github.com/Fishwaldo/opensbi.git
synced 2025-03-15 19:31:32 +00:00
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>
This commit is contained in:
parent
130230ff59
commit
27b55bb4da
1 changed files with 32 additions and 0 deletions
32
docs/platform_guide.md
Normal file
32
docs/platform_guide.md
Normal file
|
@ -0,0 +1,32 @@
|
|||
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 *<xyz>* can be added as follows:
|
||||
|
||||
1. Create a directory named *<xyz>* under *platform/* directory
|
||||
2. Create a platform configuration file named *config.mk* under
|
||||
*platform/<xyz>/* directory. This configuration file will provide
|
||||
compiler flags, select common drivers, and select firmware options
|
||||
3. Create *platform/<xyz>/objects.mk* file for listing the platform
|
||||
specific object files to be compiled
|
||||
4. Create *platform/<xyz>/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 *<xyz>* under *platform/*
|
||||
directory will create all the files mentioned above.
|
Loading…
Add table
Reference in a new issue