Readme: include a quick start section, describe directory outline
This commit is contained in:
parent
73795f8944
commit
f654aeb038
1 changed files with 31 additions and 4 deletions
35
README.md
35
README.md
|
@ -7,7 +7,34 @@ For a quick reference on RISC-V assembly:
|
|||
|
||||
Some low-level string format routines borrowed from [mini-printf](https://github.com/mludvig/mini-printf)
|
||||
|
||||
Toolchains:
|
||||
### Directory outline
|
||||
|
||||
The planned directory outline is as follows:
|
||||
```
|
||||
root
|
||||
├── kern # General kernel sources
|
||||
│ ├── libkern # Kernel specific library routines
|
||||
│ ├── memory # Memory related code (kalloc, buddy and friends)
|
||||
│ └── arch # Architecture specific functionality
|
||||
├── libc # Userspace C library
|
||||
└── user # Userspace programs
|
||||
```
|
||||
|
||||
### Quick Start
|
||||
|
||||
```sh
|
||||
make get_toolchain # Dont worry, is will land locally inside project directory
|
||||
make -j$(nproc)
|
||||
make qemu
|
||||
```
|
||||
|
||||
The project can be cleaned with:
|
||||
```sh
|
||||
make clean # Wipes .o, .d, .elf
|
||||
make distclean # Wipes the above, but also removes toolchain
|
||||
```
|
||||
|
||||
### Toolchains:
|
||||
- https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack
|
||||
- https://github.com/xpack-dev-tools/qemu-riscv-xpack/
|
||||
|
||||
|
@ -17,6 +44,8 @@ Toolchains:
|
|||
> term trap, largely because it was the term used by the PDP11/40 and therefore is the
|
||||
> conventional Unix term.
|
||||
|
||||
### Notes/Misc
|
||||
|
||||
| Register | Name | Privilege Level | Description |
|
||||
|-------------|----------------------------|------------------|-----------------------------------------------------------------------------|
|
||||
| `mstatus` | Machine Status Register | Machine | Holds global interrupt enable, previous privilege mode, etc. |
|
||||
|
@ -35,9 +64,7 @@ Toolchains:
|
|||
| `mip` | Machine Interrupt Pending | Machine | Indicates pending interrupts. |
|
||||
| `mie` | Machine Interrupt Enable | Machine | Controls which interrupts are enabled. |
|
||||
|
||||
# Notes
|
||||
|
||||
## Libc Implementations
|
||||
### Libc Implementations
|
||||
|
||||
[uClibc](https://uclibc.org/)
|
||||
[musl libc](https://musl.libc.org/)
|
||||
|
|
Loading…
Add table
Reference in a new issue