diff options
author | 2023-10-10 14:33:42 +0000 | |
---|---|---|
committer | 2023-10-10 14:33:42 +0000 | |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/opensbi/docs/platform/generic.md | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/opensbi/docs/platform/generic.md')
-rw-r--r-- | roms/opensbi/docs/platform/generic.md | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/roms/opensbi/docs/platform/generic.md b/roms/opensbi/docs/platform/generic.md new file mode 100644 index 000000000..f1f7f6424 --- /dev/null +++ b/roms/opensbi/docs/platform/generic.md @@ -0,0 +1,54 @@ +Generic Platform +================ + +The **Generic** platform is a flattened device tree (FDT) based platform +where all platform specific functionality is provided based on FDT passed +by previous booting stage. The **Generic** platform allows us to use same +OpenSBI firmware binaries on various emulators, simulators, FPGAs, and +boards. + +By default, the generic FDT platform makes following assumptions: + +1. platform FW_TEXT_START is 0x80000000 +2. platform features are default +3. platform stack size is default +4. platform has no quirks or work-arounds + +The above assumptions (except 1) can be overridden by adding special platform +callbacks which will be called based on FDT root node compatible string. + +Users of the generic FDT platform will have to ensure that: + +1. Various FDT based drivers under lib/utils directory are upto date + based on their platform requirements +2. The FDT passed by previous booting stage has DT compatible strings and + DT properties in sync with the FDT based drivers under lib/utils directory +3. The FDT must have "stdout-path" DT property in the "/chosen" DT node when + a platform has multiple serial ports or consoles +4. On multi-HART platform, the FDT must have a DT node for IPI device and + lib/utils/ipi directory must have corresponding FDT based IPI driver +5. The FDT must have a DT node for timer device and lib/utils/timer directory + must have corresponding FDT based timer driver + +To build the platform-specific library and firmware images, provide the +*PLATFORM=generic* parameter to the top level `make` command. + +For custom FW_TEXT_START, we can build the platform-specific library and +firmware images by passing *PLATFORM=generic FW_TEXT_START=<custom_text_start>* +parameter to the top level `make` command. + +Platform Options +---------------- + +The *Generic* platform does not have any platform-specific options. + +RISC-V Platforms Using Generic Platform +--------------------------------------- + +* **QEMU RISC-V Virt Machine** (*[qemu_virt.md]*) +* **Spike** (*[spike.md]*) +* **Shakti C-class SoC Platform** (*[shakti_cclass.md]*) + +[qemu_virt.md]: qemu_virt.md +[spike.md]: spike.md +[shakti_cclass.md]: shakti_cclass.md |