summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDamien Le Moal <damien.lemoal@wdc.com>2019-02-07 12:18:49 +0300
committerAnup Patel <anup@brainfault.org>2019-02-08 07:06:06 +0300
commitb1b7e49c6372839a4ba37252e742f3f4769d8c46 (patch)
tree853b5756ea4e29c679ea7b221c2ec6b8f9e47ba4 /docs
parent7b3da0ef0d778db206be44ba0074910034d47608 (diff)
downloadopensbi-b1b7e49c6372839a4ba37252e742f3f4769d8c46.tar.xz
docs: platform guide updates
Clarify platform support description. Also fix some Typos, grammar and document style. Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Diffstat (limited to 'docs')
-rw-r--r--docs/platform_guide.md34
1 files changed, 22 insertions, 12 deletions
diff --git a/docs/platform_guide.md b/docs/platform_guide.md
index 51e5b25..5eecf9b 100644
--- a/docs/platform_guide.md
+++ b/docs/platform_guide.md
@@ -1,22 +1,31 @@
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:
+OpenSBI platform support allows an implementation to define a set of platform
+specific hooks (hardware manipulation functions) in the form of a
+*struct sbi_platform* data structure instance. This instance is required by
+platform independent *libsbi.a* to execute platform specific operations.
-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*
+Each of the reference platform support provided by OpenSBI define an instance
+of the *struct sbi_platform* data structure. For each supported platform,
+*libplatsbi.a* integrates this instance with *libsbi.a* to create a platform
+specific OpenSBI static library. This library is installed
+in *<install_directory>/platform/<platform_subdir>/lib/libplatsbi.a*
+
+OpenSBI also provides implementation examples of bootable runtime firmwares for
+the supported platforms. These firmwares are linked against *libplatsbi.a*.
+Firmware binaries are installed in
+*<install_directory>/platform/<platform_subdir>/bin*. These firmwares can be
+used as executable runtime firmwares on the supported platforms as a replacement
+for the legacy *riskv-pk* boot loader (BBL).
A complete doxygen-style documentation of *struct sbi_platform* and related
-APIs is available in sbi/sbi_platform.h.
+APIs is available in the file *include/sbi/sbi_platform.h*.
Adding a new platform support
-----------------------------
-The support of a new platform named *<xyz>* can be added as follows:
+Support for 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
@@ -27,6 +36,7 @@ The support of a new platform named *<xyz>* can be added as follows:
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.
+A template platform support code is available under the *platform/template*
+directory. Copying this directory and its content as a new directory named
+*<xyz>* under the *platform/* directory will create all the files mentioned
+above.