Compare commits
No commits in common. "f654aeb0381a16ef53a7ef1538e7ca5262e27c45" and "6a6068c8b61513cdd2f4f40a42d388dc78d1ba9e" have entirely different histories.
f654aeb038
...
6a6068c8b6
2 changed files with 6 additions and 32 deletions
3
Makefile
3
Makefile
|
|
@ -78,7 +78,8 @@ qemu: kern/kernel.elf
|
||||||
@$(QEMU) -machine virt -bios none -nographic -m 128M -smp 4 -kernel $<
|
@$(QEMU) -machine virt -bios none -nographic -m 128M -smp 4 -kernel $<
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
find . -type f -name '*.[od(elf)]' -exec rm -f {} +
|
rm -f *.o *.elf *.d lib/*.o lib/*.d
|
||||||
|
find . -type f -name '*.[od]' -exec rm -f {} +
|
||||||
|
|
||||||
format:
|
format:
|
||||||
find . -type f -name '*.[ch]' -exec clang-format -i {} +
|
find . -type f -name '*.[ch]' -exec clang-format -i {} +
|
||||||
|
|
|
||||||
35
README.md
35
README.md
|
|
@ -7,34 +7,7 @@ For a quick reference on RISC-V assembly:
|
||||||
|
|
||||||
Some low-level string format routines borrowed from [mini-printf](https://github.com/mludvig/mini-printf)
|
Some low-level string format routines borrowed from [mini-printf](https://github.com/mludvig/mini-printf)
|
||||||
|
|
||||||
### Directory outline
|
Toolchains:
|
||||||
|
|
||||||
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/riscv-none-elf-gcc-xpack
|
||||||
- https://github.com/xpack-dev-tools/qemu-riscv-xpack/
|
- https://github.com/xpack-dev-tools/qemu-riscv-xpack/
|
||||||
|
|
||||||
|
|
@ -44,8 +17,6 @@ make distclean # Wipes the above, but also removes toolchain
|
||||||
> term trap, largely because it was the term used by the PDP11/40 and therefore is the
|
> term trap, largely because it was the term used by the PDP11/40 and therefore is the
|
||||||
> conventional Unix term.
|
> conventional Unix term.
|
||||||
|
|
||||||
### Notes/Misc
|
|
||||||
|
|
||||||
| Register | Name | Privilege Level | Description |
|
| Register | Name | Privilege Level | Description |
|
||||||
|-------------|----------------------------|------------------|-----------------------------------------------------------------------------|
|
|-------------|----------------------------|------------------|-----------------------------------------------------------------------------|
|
||||||
| `mstatus` | Machine Status Register | Machine | Holds global interrupt enable, previous privilege mode, etc. |
|
| `mstatus` | Machine Status Register | Machine | Holds global interrupt enable, previous privilege mode, etc. |
|
||||||
|
|
@ -64,7 +35,9 @@ make distclean # Wipes the above, but also removes toolchain
|
||||||
| `mip` | Machine Interrupt Pending | Machine | Indicates pending interrupts. |
|
| `mip` | Machine Interrupt Pending | Machine | Indicates pending interrupts. |
|
||||||
| `mie` | Machine Interrupt Enable | Machine | Controls which interrupts are enabled. |
|
| `mie` | Machine Interrupt Enable | Machine | Controls which interrupts are enabled. |
|
||||||
|
|
||||||
### Libc Implementations
|
# Notes
|
||||||
|
|
||||||
|
## Libc Implementations
|
||||||
|
|
||||||
[uClibc](https://uclibc.org/)
|
[uClibc](https://uclibc.org/)
|
||||||
[musl libc](https://musl.libc.org/)
|
[musl libc](https://musl.libc.org/)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue