Skip to content

Commit 7d8e121

Browse files
committed
Clarify terminology in the documentation
Add a documentation entry to clarify the terminology. From that point onward, we should strive to use consistent terminology and update the document as needed when we introduce new terms.
1 parent de5502f commit 7d8e121

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

docs/readme.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,26 @@ Then the next PMP registers are exposed to the firmware as virtual PMP registers
9090
From the firmware point of view, it looks like if there were only PMP 0 to 3 in the example above.
9191
Finally, the last entry is used by Mirage to either allow access to all memory when running the firmware (to emulate full memory access in virtual M-mode), or disallow all access when running in S or U-mode.
9292

93+
## Terminology
94+
95+
Throughout the project we strive to use clear and precise terminology.
96+
This section serves as the reference for the definitions of the technical terms we use.
97+
98+
- **Mirage**:
99+
The software we are building.
100+
Mirage executes in M-mode and exposes a virtual M-mode.
101+
- **Firmware**:
102+
We call 'firmware' an M-mode software.
103+
Examples of firmware are OpenSBI and FreeRTOS.
104+
In the context of Mirage, the firmware is the software we virtualize.
105+
- **Payload**:
106+
Similar to the OpenSBI terminology, the payload is any S or U-mode software managed by the firmware.
107+
- **Host**:
108+
Following the traditional virtualization terminology Mirage is called the host.
109+
- **Guest**:
110+
The guest is the sum of the virtualized firmware and its payload.
111+
In other words, anything that executes in non M-mode on top of Mirage.
112+
93113
## Contributing
94114

95115
The development of Mirage is done through pull requests against the `main` branch.

0 commit comments

Comments
 (0)