├── .gitignore ├── LICENSE ├── bootloader └── rustsbi-qemu.bin ├── kernel ├── .gdbinit ├── Makefile ├── console.c ├── defs.h ├── entry.S ├── file.c ├── file.h ├── kalloc.c ├── kernel.ld ├── kernelld.py ├── loader.c ├── logger.h ├── main.c ├── memory_layout.h ├── pack.py ├── panic.c ├── pipe.c ├── printf.c ├── proc.c ├── proc.h ├── riscv.h ├── sbi.c ├── string.c ├── switch.S ├── syscall.c ├── syscall_ids.h ├── timer.c ├── trampoline.S ├── trap.c ├── trap.h ├── types.h └── vm.c ├── readme.md └── user ├── CMakeLists.txt ├── Makefile ├── include ├── stddef.h ├── stdio.h ├── stdlib.h ├── string.h └── unistd.h ├── lib ├── arch │ └── riscv │ │ ├── crt.S │ │ ├── syscall_arch.h │ │ ├── syscall_ids.h.in │ │ └── user.ld ├── main.c ├── stdio.c ├── stdlib.c ├── string.c ├── syscall.c ├── syscall.h └── syscall_ids.h └── src ├── exec_simple.c ├── exit.c ├── forktest.c ├── forktest2.c ├── forktest_simple.c ├── getchar_simple.c ├── hello.c ├── matrix.c ├── pipetest.c └── user_shell.c /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/LICENSE -------------------------------------------------------------------------------- /bootloader/rustsbi-qemu.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/bootloader/rustsbi-qemu.bin -------------------------------------------------------------------------------- /kernel/.gdbinit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/.gdbinit -------------------------------------------------------------------------------- /kernel/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/Makefile -------------------------------------------------------------------------------- /kernel/console.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/console.c -------------------------------------------------------------------------------- /kernel/defs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/defs.h -------------------------------------------------------------------------------- /kernel/entry.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/entry.S -------------------------------------------------------------------------------- /kernel/file.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/file.c -------------------------------------------------------------------------------- /kernel/file.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/file.h -------------------------------------------------------------------------------- /kernel/kalloc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/kalloc.c -------------------------------------------------------------------------------- /kernel/kernel.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/kernel.ld -------------------------------------------------------------------------------- /kernel/kernelld.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/kernelld.py -------------------------------------------------------------------------------- /kernel/loader.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/loader.c -------------------------------------------------------------------------------- /kernel/logger.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/logger.h -------------------------------------------------------------------------------- /kernel/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/main.c -------------------------------------------------------------------------------- /kernel/memory_layout.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/memory_layout.h -------------------------------------------------------------------------------- /kernel/pack.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/pack.py -------------------------------------------------------------------------------- /kernel/panic.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/panic.c -------------------------------------------------------------------------------- /kernel/pipe.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/pipe.c -------------------------------------------------------------------------------- /kernel/printf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/printf.c -------------------------------------------------------------------------------- /kernel/proc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/proc.c -------------------------------------------------------------------------------- /kernel/proc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/proc.h -------------------------------------------------------------------------------- /kernel/riscv.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/riscv.h -------------------------------------------------------------------------------- /kernel/sbi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/sbi.c -------------------------------------------------------------------------------- /kernel/string.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/string.c -------------------------------------------------------------------------------- /kernel/switch.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/switch.S -------------------------------------------------------------------------------- /kernel/syscall.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/syscall.c -------------------------------------------------------------------------------- /kernel/syscall_ids.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/syscall_ids.h -------------------------------------------------------------------------------- /kernel/timer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/timer.c -------------------------------------------------------------------------------- /kernel/trampoline.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/trampoline.S -------------------------------------------------------------------------------- /kernel/trap.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/trap.c -------------------------------------------------------------------------------- /kernel/trap.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/trap.h -------------------------------------------------------------------------------- /kernel/types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/types.h -------------------------------------------------------------------------------- /kernel/vm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/kernel/vm.c -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/readme.md -------------------------------------------------------------------------------- /user/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/CMakeLists.txt -------------------------------------------------------------------------------- /user/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/Makefile -------------------------------------------------------------------------------- /user/include/stddef.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/include/stddef.h -------------------------------------------------------------------------------- /user/include/stdio.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/include/stdio.h -------------------------------------------------------------------------------- /user/include/stdlib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/include/stdlib.h -------------------------------------------------------------------------------- /user/include/string.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/include/string.h -------------------------------------------------------------------------------- /user/include/unistd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/include/unistd.h -------------------------------------------------------------------------------- /user/lib/arch/riscv/crt.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/lib/arch/riscv/crt.S -------------------------------------------------------------------------------- /user/lib/arch/riscv/syscall_arch.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/lib/arch/riscv/syscall_arch.h -------------------------------------------------------------------------------- /user/lib/arch/riscv/syscall_ids.h.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/lib/arch/riscv/syscall_ids.h.in -------------------------------------------------------------------------------- /user/lib/arch/riscv/user.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/lib/arch/riscv/user.ld -------------------------------------------------------------------------------- /user/lib/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/lib/main.c -------------------------------------------------------------------------------- /user/lib/stdio.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/lib/stdio.c -------------------------------------------------------------------------------- /user/lib/stdlib.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/lib/stdlib.c -------------------------------------------------------------------------------- /user/lib/string.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/lib/string.c -------------------------------------------------------------------------------- /user/lib/syscall.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/lib/syscall.c -------------------------------------------------------------------------------- /user/lib/syscall.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/lib/syscall.h -------------------------------------------------------------------------------- /user/lib/syscall_ids.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/lib/syscall_ids.h -------------------------------------------------------------------------------- /user/src/exec_simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/src/exec_simple.c -------------------------------------------------------------------------------- /user/src/exit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/src/exit.c -------------------------------------------------------------------------------- /user/src/forktest.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/src/forktest.c -------------------------------------------------------------------------------- /user/src/forktest2.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/src/forktest2.c -------------------------------------------------------------------------------- /user/src/forktest_simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/src/forktest_simple.c -------------------------------------------------------------------------------- /user/src/getchar_simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/src/getchar_simple.c -------------------------------------------------------------------------------- /user/src/hello.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/src/hello.c -------------------------------------------------------------------------------- /user/src/matrix.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/src/matrix.c -------------------------------------------------------------------------------- /user/src/pipetest.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/src/pipetest.c -------------------------------------------------------------------------------- /user/src/user_shell.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DeathWish5/ucore-Tutorial/HEAD/user/src/user_shell.c --------------------------------------------------------------------------------