├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── misc ├── gallery │ ├── 00-debugger │ │ ├── 00.png │ │ ├── 01.png │ │ ├── 02.png │ │ ├── 03.png │ │ └── 04.png │ ├── 01-uart │ │ ├── 00.png │ │ └── 01.png │ ├── 02-syscon │ │ ├── 00.png │ │ └── 01.png │ ├── 03-mm │ │ ├── 00.png │ │ ├── 01.png │ │ ├── 02.png │ │ ├── 03.png │ │ ├── 04.png │ │ ├── 05.png │ │ ├── 06.png │ │ ├── 07.png │ │ └── 08.png │ ├── 04-plic │ │ ├── 00.png │ │ ├── 01.png │ │ ├── 02.png │ │ ├── 03.png │ │ ├── 04.png │ │ ├── 05.png │ │ ├── 06.png │ │ ├── 07.png │ │ ├── 08.png │ │ ├── 09.png │ │ ├── 10.png │ │ └── 11.png │ └── 05-process │ │ ├── 00.png │ │ ├── 01.png │ │ ├── 02.png │ │ ├── 03.png │ │ ├── 04.png │ │ └── 05.png └── riscv64-virt.dts └── src ├── asm └── crt0.s ├── common ├── common.c └── common.h ├── kmain.c ├── lds └── riscv64-virt.ld ├── mm ├── kmem.c ├── kmem.h ├── page.c ├── page.h ├── sv39.c └── sv39.h ├── plic ├── cpu.c ├── cpu.h ├── plic.c ├── plic.h ├── trap_frame.c ├── trap_frame.h ├── trap_handler.c └── trap_handler.h ├── process ├── process.c ├── process.h ├── sched.c ├── sched.h ├── syscall.c └── syscall.h ├── syscon ├── syscon.c └── syscon.h └── uart ├── uart.c └── uart.h /.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | kmain 3 | *~ 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/README.md -------------------------------------------------------------------------------- /misc/gallery/00-debugger/00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/00-debugger/00.png -------------------------------------------------------------------------------- /misc/gallery/00-debugger/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/00-debugger/01.png -------------------------------------------------------------------------------- /misc/gallery/00-debugger/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/00-debugger/02.png -------------------------------------------------------------------------------- /misc/gallery/00-debugger/03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/00-debugger/03.png -------------------------------------------------------------------------------- /misc/gallery/00-debugger/04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/00-debugger/04.png -------------------------------------------------------------------------------- /misc/gallery/01-uart/00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/01-uart/00.png -------------------------------------------------------------------------------- /misc/gallery/01-uart/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/01-uart/01.png -------------------------------------------------------------------------------- /misc/gallery/02-syscon/00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/02-syscon/00.png -------------------------------------------------------------------------------- /misc/gallery/02-syscon/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/02-syscon/01.png -------------------------------------------------------------------------------- /misc/gallery/03-mm/00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/03-mm/00.png -------------------------------------------------------------------------------- /misc/gallery/03-mm/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/03-mm/01.png -------------------------------------------------------------------------------- /misc/gallery/03-mm/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/03-mm/02.png -------------------------------------------------------------------------------- /misc/gallery/03-mm/03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/03-mm/03.png -------------------------------------------------------------------------------- /misc/gallery/03-mm/04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/03-mm/04.png -------------------------------------------------------------------------------- /misc/gallery/03-mm/05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/03-mm/05.png -------------------------------------------------------------------------------- /misc/gallery/03-mm/06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/03-mm/06.png -------------------------------------------------------------------------------- /misc/gallery/03-mm/07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/03-mm/07.png -------------------------------------------------------------------------------- /misc/gallery/03-mm/08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/03-mm/08.png -------------------------------------------------------------------------------- /misc/gallery/04-plic/00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/04-plic/00.png -------------------------------------------------------------------------------- /misc/gallery/04-plic/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/04-plic/01.png -------------------------------------------------------------------------------- /misc/gallery/04-plic/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/04-plic/02.png -------------------------------------------------------------------------------- /misc/gallery/04-plic/03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/04-plic/03.png -------------------------------------------------------------------------------- /misc/gallery/04-plic/04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/04-plic/04.png -------------------------------------------------------------------------------- /misc/gallery/04-plic/05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/04-plic/05.png -------------------------------------------------------------------------------- /misc/gallery/04-plic/06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/04-plic/06.png -------------------------------------------------------------------------------- /misc/gallery/04-plic/07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/04-plic/07.png -------------------------------------------------------------------------------- /misc/gallery/04-plic/08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/04-plic/08.png -------------------------------------------------------------------------------- /misc/gallery/04-plic/09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/04-plic/09.png -------------------------------------------------------------------------------- /misc/gallery/04-plic/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/04-plic/10.png -------------------------------------------------------------------------------- /misc/gallery/04-plic/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/04-plic/11.png -------------------------------------------------------------------------------- /misc/gallery/05-process/00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/05-process/00.png -------------------------------------------------------------------------------- /misc/gallery/05-process/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/05-process/01.png -------------------------------------------------------------------------------- /misc/gallery/05-process/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/05-process/02.png -------------------------------------------------------------------------------- /misc/gallery/05-process/03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/05-process/03.png -------------------------------------------------------------------------------- /misc/gallery/05-process/04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/05-process/04.png -------------------------------------------------------------------------------- /misc/gallery/05-process/05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/gallery/05-process/05.png -------------------------------------------------------------------------------- /misc/riscv64-virt.dts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/misc/riscv64-virt.dts -------------------------------------------------------------------------------- /src/asm/crt0.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/asm/crt0.s -------------------------------------------------------------------------------- /src/common/common.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/common/common.c -------------------------------------------------------------------------------- /src/common/common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/common/common.h -------------------------------------------------------------------------------- /src/kmain.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/kmain.c -------------------------------------------------------------------------------- /src/lds/riscv64-virt.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/lds/riscv64-virt.ld -------------------------------------------------------------------------------- /src/mm/kmem.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/mm/kmem.c -------------------------------------------------------------------------------- /src/mm/kmem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/mm/kmem.h -------------------------------------------------------------------------------- /src/mm/page.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/mm/page.c -------------------------------------------------------------------------------- /src/mm/page.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/mm/page.h -------------------------------------------------------------------------------- /src/mm/sv39.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/mm/sv39.c -------------------------------------------------------------------------------- /src/mm/sv39.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/mm/sv39.h -------------------------------------------------------------------------------- /src/plic/cpu.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/plic/cpu.c -------------------------------------------------------------------------------- /src/plic/cpu.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/plic/cpu.h -------------------------------------------------------------------------------- /src/plic/plic.c: -------------------------------------------------------------------------------- 1 | #include "plic.h" 2 | -------------------------------------------------------------------------------- /src/plic/plic.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/plic/plic.h -------------------------------------------------------------------------------- /src/plic/trap_frame.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/plic/trap_frame.c -------------------------------------------------------------------------------- /src/plic/trap_frame.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/plic/trap_frame.h -------------------------------------------------------------------------------- /src/plic/trap_handler.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/plic/trap_handler.c -------------------------------------------------------------------------------- /src/plic/trap_handler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/plic/trap_handler.h -------------------------------------------------------------------------------- /src/process/process.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/process/process.c -------------------------------------------------------------------------------- /src/process/process.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/process/process.h -------------------------------------------------------------------------------- /src/process/sched.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/process/sched.c -------------------------------------------------------------------------------- /src/process/sched.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/process/sched.h -------------------------------------------------------------------------------- /src/process/syscall.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/process/syscall.c -------------------------------------------------------------------------------- /src/process/syscall.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/process/syscall.h -------------------------------------------------------------------------------- /src/syscon/syscon.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/syscon/syscon.c -------------------------------------------------------------------------------- /src/syscon/syscon.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/syscon/syscon.h -------------------------------------------------------------------------------- /src/uart/uart.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/uart/uart.c -------------------------------------------------------------------------------- /src/uart/uart.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DonaldKellett/marvelos/HEAD/src/uart/uart.h --------------------------------------------------------------------------------