-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
<ReadMe> Updated documentation of folders
- Loading branch information
1 parent
fb17e2a
commit daa6ba9
Showing
14 changed files
with
53 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 |
---|---|---|
|
@@ -7,4 +7,3 @@ Home directory for CPU architecture specific sources. | |
#### Supported Architectures | ||
* AVR | ||
* RISCV | ||
* ARM-M |
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
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
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 |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# AVR-8 Common v5 and v6 | ||
|
||
* Supports Terravisor only. | ||
|
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,7 +1,4 @@ | ||
# RV32 I-Extension (baseline) | ||
|
||
* Supports machine, supervisor and undermode as of the commit date. | ||
* Hypervisor aka background supervisor spec is still under development. | ||
* Supports Terravisor (machine mode according to risc-v priv spec). | ||
|
||
#### Supported execution levels | ||
* Terravisor (machine layer) |
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,10 +1,10 @@ | ||
# RV32 I [Terravisor] | ||
|
||
* Home directory for RV32 Terravisor sources. | ||
* Home directory for RV32I Terravisor sources. | ||
* I being baseline for RV cores, this is a common directory. | ||
* For terravisor documentation please read [Terravisor README](../../../../../visor/terravisor/README.md) | ||
|
||
#### Highlights | ||
* Bootstrap routine is mostly in C | ||
* Reduced use of ASM | ||
* Exception handling is unified by updated "mtvec" reg with handler address | ||
* In few platforms, mtvec is hard coded to be used in vector mode, to enable that mode just define "RV_VEC_MODE" in build defines. |
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
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,7 +1,5 @@ | ||
# RV32 IMAC [Terravisor] | ||
|
||
Home directory for RV32imac Terravisor | ||
|
||
For terravisor documentation please read [Terravisor README](../../../../../visor/terravisor/README.md) | ||
Home directory for RV32imc Terravisor | ||
|
||
Please refer [README.md](../../i/terravisor/README.md) in i/terravisor directory. |
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 |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Driver | ||
_This folder houses all the driver directories_ | ||
|
||
Cyancore driver framework requires the platform to provide a memory segment in ram to store driver table. This table consists of all driver entries which are enabled by user during compiler time. These drivers should ideally be started in the startup routine. Driver framework provides other apis which will let user start driver with the help of name of driver. _Refer to driver.c for more info_ | ||
|
||
## Build | ||
- There are 2 types of driver, essential and user-config driver. | ||
- Essential drivers are those which is absolute must to enable minimal functionality of the platform to execute basic code, usually system programs. | ||
- User Config driver are those which can be enabled and can be called in the user programs. |
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 |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Console Driver | ||
|
||
Console driver provides interfaces to stdout, stdin, stderr and stdlog. The 3 standard devices std(out/in/err) are linked with console device that will be linked with the console driver stars. But for stdlog, the device is linked when the driver calls logger attach routine. _Essentially this directory houses the drivers for consoles._ | ||
|
||
#### Console (L1 Driver) | ||
- This devices connects to std(out/in/err) | ||
- std-devices are used by libc stdio functions | ||
- The underlying hardware is getting linked with the L2 Driver which is present under `con_serial_<family>` folder | ||
|
||
#### Stdlog (L1 Driver) | ||
- This devices connects to stdlog | ||
- stdlog is a system standard logger provided by libsyslog | ||
- By default syslog uses membuf to log system logs | ||
|
||
## Build | ||
- Maitri (cc build engine) requires a unique L2 driver folder which is represented with `con_serial_<family>`, where **family** is Family of Platform/Controller | ||
- If in case the family is absent, a warning will be displayed during build, but the compilation will not fail. |
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 |
---|---|---|
@@ -0,0 +1,7 @@ | ||
# Visor | ||
|
||
This folder will contain all the sources for workers and services that can be provided by a visor. | ||
|
||
Its upto user's imagination to use the api's in such a way that they can craft out the visor as per their liking. | ||
|
||
User's are free to write their own OS, hypervisor, terravisor and user space apps based on their requriements. To do this, the user needs to specify the execution mode in the build.mk of the project file. This is necessary to assist visor's sources to integrate correct arch functions. _Note: Onus is on cyancore's developer to be careful regaring naming convention and backward compatibilty of such functions_. Going further, to enable access control, users/developers should make best use of libresources. This can be a powerful tool to build a robust software stack. |
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 |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Visor - Services | ||
|
||
This folder houses all the sources for kernels, bootstrap routines, etc. Using these api's user must create the software they desire. |
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 |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Bootstrap | ||
|
||
This is a service provided by visor to enable system to setup the whole platform before it can execute user code. |
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 |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# Kernel | ||
|
||
This directory houses several kernels that cyancore can offer to develop software stack as per user's requirement. | ||
|
||
### Supported Kernels | ||
- Helios |