Some experiments with riscv osdev.
- C 68.2%
- Assembly 24.1%
- Makefile 7.7%
|
Ivan Gualandri
41869b2b3f
select_initial_address_freelist ( #4 )
Reviewed-on: #4 Co-authored-by: Ivan Gualandri <dreamos82@yahoo.it> Co-committed-by: Ivan Gualandri <dreamos82@yahoo.it> |
||
|---|---|---|
| src | select_initial_address_freelist ( #4 ) | |
| .gitignore | makefile improvements, and add some information on how to build | |
| linker.ld | Rearrange the linker sections and boot in the higher half | |
| Makefile | parse_reserved_memory ( #3 ) | |
| README.md | makefile improvements, and add some information on how to build | |
DRVOS
Just my experiment in trying to write a toy kernel for riscv processors
Build instruction
Those instruction assumes that we have a riscv gcc cross compiler toolchain installed, and qemu that supports the riscv64 architecture. The prefix used should be: riscv64-elf-
The prefix can be changed by updating ARCH_PREFIX field on the Makefile, while the qemu command name can be changed by updating the QEMU_COMMAND_NAME variable.
The goals available are:
clean: delete all build filesbuild: just build and link the os binaries, without launching itrun: run the os using a rscv64 qemugdb: launch the os, with qemu waiting for a remote debugger to be attached.gdb_monitor: same as above, but with the monitor option available.
For the gdb and gdb_monitor we need to have gdb compiled to support the riscv64 architecture.