Platform Spec Chapter Addition Patch


Kumar Sankaran
 

The following is an update to the platform spec in terms of adding the relevant chapters as discussed during the bi-monthly platform meetings. I have added the sub-sections here as well to serve as a place holder for what are the typical list of items we would like to cover within that chapter. The goal would be for the chapter owner to further update the sub-sections when the content for those chapters is written.

I have added a chapter to refer to the platform profiles which will be updated when the profiles spec is reviewed and ratified. The platform profile is work in progress.

 

diff --git a/changelog.adoc b/changelog.adoc

index 5e72f7e..72d6047 100644

--- a/changelog.adoc

+++ b/changelog.adoc

@@ -7,7 +7,12 @@

[preface]

## Change Log

 

-### Version 0.1-rc0

+### version 0.2-rc0

+* 2021-03-16:

+** Added 2022 platforms

+** Added individual sections and sub-sections for the content

+

+### version 0.1-rc0

* 2020-10-07:

** Initial changes for structure and future maintenance.

** Break content down into include files; more structure, but easier

diff --git a/contributors.adoc b/contributors.adoc

index f499a1d..cb546dd 100644

--- a/contributors.adoc

+++ b/contributors.adoc

@@ -23,7 +23,8 @@ Al Stone,

Arun Thomas,

Philipp Tomsich,

Paul Walmsley,

-Andrew Waterman.

+Andrew Waterman,

+Kumar Sankaran.

 

 If you have contributed and are not listed, do let us know.  We haven't

forgotten you, but we may have forgotten to edit this list.

diff --git a/introduction.adoc b/introduction.adoc

index 322863c..26b59d3 100644

--- a/introduction.adoc

+++ b/introduction.adoc

@@ -10,14 +10,5 @@

 

 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.

-

-### Versioning

-

+allow software to be compatible between these implementations.

+The scope and definitions used in this document are defined in the plaform profiles specification.

diff --git a/licensing.adoc b/licensing.adoc

index e24cbd5..c70eb24 100644

--- a/licensing.adoc

+++ b/licensing.adoc

@@ -14,6 +14,7 @@ This RISC-V Profile and Platform Specification (P2S) is

(C) 2017-2019 Palmer Dabbelt palmer@...

(C) 2017 Andrew Waterman andrew@...

(C) 2020 Al Stone ahs3@...

+(C) 2021 Kumar Sankaran ksankaran@...

 

 The P2S is licensed under the Creative Commons Attribution 4.0 International

License (CC-BY 4.0).  The full license text is available at

diff --git a/profiles.adoc b/profiles.adoc

index daae58a..fdd7fc0 100644

--- a/profiles.adoc

+++ b/profiles.adoc

@@ -7,7 +7,4 @@

 

 ## Profiles

 

-### Portable UNIX Platform Profile

-

-* Supervisor-mode environments must implement RV64GC.

-

+* Portable UNIX Platform Profile

diff --git a/riscv-platform-spec.adoc b/riscv-platform-spec.adoc

index e223e65..003181c 100644

--- a/riscv-platform-spec.adoc

+++ b/riscv-platform-spec.adoc

@@ -5,11 +5,11 @@

// This file provides the primary structure and formatting for

// the overal Profile and Platform Specification.

//

-# RISC-V Profile and Platform Specification

+= RISC-V Platform Specification

:author: RISC-V Platform Specification Task Group

:email: tech-unixplatformspec@...

-:revnumber: 0.1-rc0

-:revdate: October 2020

+:revnumber: 0.2-rc0

+:revdate: Mar 2021

 :doctype: book

:sectnums:

:toc: macro

@@ -26,18 +26,104 @@ include::changelog.adoc[]

// Introduction: describe the intent and purpose of the document

include::introduction.adoc[]

 

-// User-Level Platform (NB: content from very first version)

-include::user-level.adoc[]

+// Profiles: (NB: content from very first version)

+include::profiles.adoc[]

 

-// Supervisor-Level Platform (NB: content from very first version)

-include::supervisor-level.adoc[]

+// Linux-2022 Platform

+== Linux-2022 Platform

 

-// Machine-Level Platform (NB: content from very first version)

-// This is the only line in that original content.

-## Machine-Level Platform

+// Base feature set for Linux-2022 Platform

+=== Base

+==== Architecture

+* Profile - RVA22

+** Cache Management

+** PMU

+** ASID

+* Debug

 

-// Profiles: (NB: content from very first version)

-include::profiles.adoc[]

+==== Memory Map

+* Virtual Memory

+* sv39/sv48/sv57

+* Start Address

+

+==== Interrupt Controller

+* AIA

+* PLIC + CLINT

+* Interrupt Assignments

+

+==== System Peripherals

+* UART/Serial Console

+* Clocks

+* Timers

+* Watchdog Timers

+

+==== Boot Process

+* Firmware

+* Boot-Loader

+* Discovery Mechanisms

+

+==== Runtime services

+* SBI

+* UEFI

+

+// Server extension for Linux-2022 Platform

+=== Server Extension

+==== Boot Process

+* Firmware

+* Boot-Loader

+* Discovery Mechanisms

+

+==== Runtime services

+* SBI

+* UEFI

+

+==== System Peripherals

+* PCI-E

+

+==== Secure Boot

+* TEE

+* Root of Trust

+* E-Fuse

+* PKA/TRNG

+

+==== Virtualization/Hypervisor

+* H-extension

+* IOMMU

+

+==== RAS

+

+// Embedded-2022 Platform

+== Embedded-2022

+

+// Base feature set for Embedded-2022 Platform

+=== Base

+==== Architecture

+* Profile - RVM22

+* Debug

+

+==== Memory Map

+* Start Address

+

+==== Interrupt Controller

+* CLIC/PLIC

+

+==== System Peripherals

+* UART/Serial Console

+* Clocks

+* Timers

+

+==== Boot Process

+* Firmware

+* Boot-Loader

+* Discovery Mechanisms

+

+// PMP extension for Embedded-2022 Platform

+=== PMP Extension

+==== PMP Regions

+

+// RVM-SIS extension for Embedded-2022 Platform

+=== RVM-SIS Extension

+==== HAL

 

 // acknowledge all of the contributors

include::contributors.adoc[]

 

Regards

Kumar