├── .clang-format ├── .gitattributes ├── .github └── workflows │ ├── docs.yml │ └── format.yml ├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── Doxyfile ├── LICENSE ├── Makefile ├── docs ├── CODE_OF_CONDUCT.md ├── README.md ├── bright_logo.svg ├── dark_logo.svg └── logo.svg ├── include ├── arch │ └── riscv │ │ ├── common │ │ ├── arch.h │ │ └── trap.h │ │ ├── csr.h │ │ ├── riscv.h │ │ └── sbi.h ├── config.h ├── dev.h ├── driver.h ├── drivers │ ├── ldisc.h │ ├── plic.h │ └── tty.h ├── elf.h ├── errno.h ├── fd.h ├── init.h ├── intr.h ├── list.h ├── math.h ├── mm │ ├── kalloc.h │ ├── page_alloc.h │ └── vm.h ├── module │ ├── init.h │ ├── log.h │ └── module.h ├── pm.h ├── proc.h ├── sched.h ├── sync │ └── sem.h ├── syscall.h ├── time.h ├── timer.h ├── types.h └── utils │ ├── compiler.h │ ├── mem.h │ └── str.h ├── kernel.ld └── src ├── arch └── riscv │ ├── entry.S │ ├── intr.c │ ├── pm.c │ ├── proc.S │ ├── proc.c │ ├── sbi.c │ ├── time.c │ ├── timer.c │ ├── trap.S │ ├── trap.c │ └── vm.c ├── dev.c ├── drivers ├── ldisc.c ├── plic.c ├── tty.c └── uart.c ├── elf.c ├── errno.c ├── init.c ├── intr.c ├── kmain.c ├── mm ├── kalloc.c └── page_alloc.c ├── module ├── init.c └── log.c ├── platforms └── virt.c ├── pm.c ├── proc.c ├── sched.c ├── sync └── sem.c ├── syscalls ├── exit.c ├── getpid.c ├── proc.c ├── read.c ├── reboot.c ├── sleep.c ├── syscall.c ├── wait.c ├── write.c └── yield.c ├── timer.c └── utils ├── mem.c └── str.c /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/.clang-format -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | src/init.c linguist-vendored 2 | -------------------------------------------------------------------------------- /.github/workflows/docs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/.github/workflows/docs.yml -------------------------------------------------------------------------------- /.github/workflows/format.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/.github/workflows/format.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | docs/html/ 3 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/.gitmodules -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /Doxyfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/Doxyfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/Makefile -------------------------------------------------------------------------------- /docs/CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/docs/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/bright_logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/docs/bright_logo.svg -------------------------------------------------------------------------------- /docs/dark_logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/docs/dark_logo.svg -------------------------------------------------------------------------------- /docs/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/docs/logo.svg -------------------------------------------------------------------------------- /include/arch/riscv/common/arch.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/arch/riscv/common/arch.h -------------------------------------------------------------------------------- /include/arch/riscv/common/trap.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/arch/riscv/common/trap.h -------------------------------------------------------------------------------- /include/arch/riscv/csr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/arch/riscv/csr.h -------------------------------------------------------------------------------- /include/arch/riscv/riscv.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define RV_INSTR_LEN 4 4 | -------------------------------------------------------------------------------- /include/arch/riscv/sbi.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/arch/riscv/sbi.h -------------------------------------------------------------------------------- /include/config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/config.h -------------------------------------------------------------------------------- /include/dev.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/dev.h -------------------------------------------------------------------------------- /include/driver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/driver.h -------------------------------------------------------------------------------- /include/drivers/ldisc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/drivers/ldisc.h -------------------------------------------------------------------------------- /include/drivers/plic.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/drivers/plic.h -------------------------------------------------------------------------------- /include/drivers/tty.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/drivers/tty.h -------------------------------------------------------------------------------- /include/elf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/elf.h -------------------------------------------------------------------------------- /include/errno.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/errno.h -------------------------------------------------------------------------------- /include/fd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/fd.h -------------------------------------------------------------------------------- /include/init.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | extern const u8 INIT_ELF[]; 6 | -------------------------------------------------------------------------------- /include/intr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/intr.h -------------------------------------------------------------------------------- /include/list.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/list.h -------------------------------------------------------------------------------- /include/math.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/math.h -------------------------------------------------------------------------------- /include/mm/kalloc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/mm/kalloc.h -------------------------------------------------------------------------------- /include/mm/page_alloc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/mm/page_alloc.h -------------------------------------------------------------------------------- /include/mm/vm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/mm/vm.h -------------------------------------------------------------------------------- /include/module/init.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/module/init.h -------------------------------------------------------------------------------- /include/module/log.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/module/log.h -------------------------------------------------------------------------------- /include/module/module.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/module/module.h -------------------------------------------------------------------------------- /include/pm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/pm.h -------------------------------------------------------------------------------- /include/proc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/proc.h -------------------------------------------------------------------------------- /include/sched.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/sched.h -------------------------------------------------------------------------------- /include/sync/sem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/sync/sem.h -------------------------------------------------------------------------------- /include/syscall.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/syscall.h -------------------------------------------------------------------------------- /include/time.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/time.h -------------------------------------------------------------------------------- /include/timer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/timer.h -------------------------------------------------------------------------------- /include/types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/types.h -------------------------------------------------------------------------------- /include/utils/compiler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/utils/compiler.h -------------------------------------------------------------------------------- /include/utils/mem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/utils/mem.h -------------------------------------------------------------------------------- /include/utils/str.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/include/utils/str.h -------------------------------------------------------------------------------- /kernel.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/kernel.ld -------------------------------------------------------------------------------- /src/arch/riscv/entry.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/arch/riscv/entry.S -------------------------------------------------------------------------------- /src/arch/riscv/intr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/arch/riscv/intr.c -------------------------------------------------------------------------------- /src/arch/riscv/pm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/arch/riscv/pm.c -------------------------------------------------------------------------------- /src/arch/riscv/proc.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/arch/riscv/proc.S -------------------------------------------------------------------------------- /src/arch/riscv/proc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/arch/riscv/proc.c -------------------------------------------------------------------------------- /src/arch/riscv/sbi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/arch/riscv/sbi.c -------------------------------------------------------------------------------- /src/arch/riscv/time.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/arch/riscv/time.c -------------------------------------------------------------------------------- /src/arch/riscv/timer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/arch/riscv/timer.c -------------------------------------------------------------------------------- /src/arch/riscv/trap.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/arch/riscv/trap.S -------------------------------------------------------------------------------- /src/arch/riscv/trap.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/arch/riscv/trap.c -------------------------------------------------------------------------------- /src/arch/riscv/vm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/arch/riscv/vm.c -------------------------------------------------------------------------------- /src/dev.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/dev.c -------------------------------------------------------------------------------- /src/drivers/ldisc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/drivers/ldisc.c -------------------------------------------------------------------------------- /src/drivers/plic.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/drivers/plic.c -------------------------------------------------------------------------------- /src/drivers/tty.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/drivers/tty.c -------------------------------------------------------------------------------- /src/drivers/uart.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/drivers/uart.c -------------------------------------------------------------------------------- /src/elf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/elf.c -------------------------------------------------------------------------------- /src/errno.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/errno.c -------------------------------------------------------------------------------- /src/init.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/init.c -------------------------------------------------------------------------------- /src/intr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/intr.c -------------------------------------------------------------------------------- /src/kmain.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/kmain.c -------------------------------------------------------------------------------- /src/mm/kalloc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/mm/kalloc.c -------------------------------------------------------------------------------- /src/mm/page_alloc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/mm/page_alloc.c -------------------------------------------------------------------------------- /src/module/init.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/module/init.c -------------------------------------------------------------------------------- /src/module/log.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/module/log.c -------------------------------------------------------------------------------- /src/platforms/virt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/platforms/virt.c -------------------------------------------------------------------------------- /src/pm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/pm.c -------------------------------------------------------------------------------- /src/proc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/proc.c -------------------------------------------------------------------------------- /src/sched.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/sched.c -------------------------------------------------------------------------------- /src/sync/sem.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/sync/sem.c -------------------------------------------------------------------------------- /src/syscalls/exit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/syscalls/exit.c -------------------------------------------------------------------------------- /src/syscalls/getpid.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/syscalls/getpid.c -------------------------------------------------------------------------------- /src/syscalls/proc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/syscalls/proc.c -------------------------------------------------------------------------------- /src/syscalls/read.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/syscalls/read.c -------------------------------------------------------------------------------- /src/syscalls/reboot.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/syscalls/reboot.c -------------------------------------------------------------------------------- /src/syscalls/sleep.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/syscalls/sleep.c -------------------------------------------------------------------------------- /src/syscalls/syscall.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/syscalls/syscall.c -------------------------------------------------------------------------------- /src/syscalls/wait.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/syscalls/wait.c -------------------------------------------------------------------------------- /src/syscalls/write.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/syscalls/write.c -------------------------------------------------------------------------------- /src/syscalls/yield.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/syscalls/yield.c -------------------------------------------------------------------------------- /src/timer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/timer.c -------------------------------------------------------------------------------- /src/utils/mem.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/utils/mem.c -------------------------------------------------------------------------------- /src/utils/str.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/carg-os/karg/HEAD/src/utils/str.c --------------------------------------------------------------------------------