This repository has been archived by the owner on Nov 1, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 39
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Provide a simple introduction the platform spec, and a brief description of the overall structure. This is essentially v3 of the proposal as submitted to the mailing list, along with corrections and suggestions from all v3 reviewers, but in patch form. Signed-off-by: Al Stone <[email protected]>
- Loading branch information
Al Stone
committed
Jan 12, 2021
1 parent
ad8dde2
commit 8f653dc
Showing
1 changed file
with
41 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,48 @@ | ||
// SPDX-License-Indentifer: CC-BY-4.0 | ||
// SPDX-License-Identifier: CC-BY-4.0 | ||
// | ||
// introduction.adoc: describe the purpose of the document | ||
// introduction.adoc: provide an introduction to the document | ||
// | ||
// Provide a description of the overall intent and purpose of this | ||
// specifiction. | ||
// Provide a basic introduction to the overall document. | ||
// | ||
|
||
## Introduction | ||
# Introduction | ||
|
||
This document contains the RISC-V UNIX-class platform specification. This | ||
specification defines additional restrictions on implementations in order to | ||
allow software to be compatible between these implementations. These | ||
restrictions are enumerated along with the least privileged level to which they | ||
apply. Implementations can be compatible with a subset of this specification, | ||
but that subset must include all restrictions placed on a privilege level as | ||
well as all less-privileged levels. For example: implementations can claim to | ||
be compatible with the "RISC-V Supervisor-Level UNIX Platform" if they are | ||
compatible with the entire "User-Level Platform" and "Supervisor-Level | ||
Platform" chapters of this document. | ||
This document is the RISC-V Profiles and Platform Specification (RVP2S). | ||
|
||
### Versioning | ||
This specification defines the hardware and firmware required to be able | ||
to install and use one or more operating environments (OEs) on a computing | ||
system built around the RISC-V Instruction Set Architecture (ISA). The | ||
intent is to capture the constraints necessary for hardware so that an | ||
operating environment can be assured it is compatible with that hardware, | ||
if it is in compliance with the specification. | ||
|
||
For the purposes of this specification an _operating environment_ can | ||
range from a single application running on a bare metal system to a full | ||
scale server operating system (OS) running a Linux distribution on a | ||
commercial off-the shelf (COTS) system. | ||
|
||
Constraints on the hardware and firmware comprising part of a platform | ||
are key to this specification. However, these constraints are only meant | ||
to define a baseline set of functionality. Vendors may add whatever | ||
advanced functionality they wish beyond that, as long as it is discoverable | ||
in some way. For example, any given platform may need an MMU or an IRQ | ||
controller to boot, but may not require an I2C bus; the vendor can of course | ||
add that bus if they wish, but it might not be part of the required baseline | ||
for that platform. | ||
|
||
This specification also sets out any necessary constraints on the RISC-V | ||
Instruction Set Architecture (ISA) -- at all privilege levels -- that are | ||
required to provide a consistent and predictable environment for running | ||
operating systems. | ||
|
||
The intent is to provide only the constraints necessary, and not to restrict | ||
creativity. | ||
|
||
The structure of the document is straightforward. First, basic terminology | ||
is defined, in particular the terms _profile_ and _platform_ that form the | ||
basis for the structure of the rest of the specification. Second, the | ||
currently defined profiles are described, setting out the use of the RISC-V | ||
architecture in a processor. Third, the current defined platforms are | ||
described with specific hardware, firmware, and software requirements. | ||
And finally, checklists are provided in the appendices to make it easier | ||
to determine if a new system meets a given platform specification. |