├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── Makefile ├── README.md ├── mkfs ├── Makefile ├── device.h ├── geefs.cpp ├── geefs.h ├── iosdev.cpp ├── iosdev.h ├── main.cpp └── structs.h ├── rules.mk ├── src ├── Makefile ├── arch │ ├── arch.yu │ ├── riscv │ │ ├── addr.yu │ │ ├── consts.yu │ │ ├── csr.S │ │ ├── csr.yu │ │ ├── framealloc.yu │ │ ├── pagetable.yu │ │ └── recursive.yu │ └── target │ │ ├── fuxi.yu │ │ ├── risky32.yu │ │ └── virt.yu ├── boot │ ├── entry.yu │ ├── init.S │ ├── linker.ld │ └── uart.yu ├── define │ └── context.yu ├── entry.yu ├── fs │ ├── consts.yu │ ├── dev │ │ ├── device.yu │ │ └── mem.yu │ ├── devfs │ │ ├── fs.yu │ │ └── stdio.yu │ ├── file.yu │ ├── fs.yu │ ├── geefs │ │ ├── fs.yu │ │ ├── geefs.yu │ │ └── structs.yu │ ├── info.yu │ └── vfs │ │ └── vfs.yu ├── init.S ├── lib │ ├── algo.yu │ ├── alloc.yu │ ├── c │ │ └── string.yu │ ├── elf.yu │ ├── except.yu │ ├── hashmap.yu │ ├── io.yu │ ├── queue.yu │ └── strview.yu ├── linker.ld ├── main.yu ├── mem │ ├── area.yu │ ├── attr.yu │ ├── consts.yu │ ├── handler.yu │ ├── heap.yu │ ├── mem.yu │ ├── mset.yu │ ├── paging.yu │ └── pm.yu ├── proc │ ├── consts.yu │ ├── pool.yu │ ├── proc.yu │ ├── processor.yu │ ├── scheduler.yu │ ├── structs.yu │ └── switch.S ├── sync │ ├── condvar.yu │ ├── intr.yu │ ├── semaphore.yu │ ├── slimpl.c │ └── spinlock.yu ├── syscall │ ├── fs.yu │ ├── proc.yu │ └── syscall.yu └── trap │ ├── trap.yu │ └── traphand.S ├── toolchain.mk ├── usr ├── Makefile ├── bin │ ├── alloc.yu │ ├── hello.yu │ ├── notepad.yu │ └── shell.yu └── lib │ ├── alloc.yu │ ├── c │ └── string.yu │ ├── except.yu │ ├── io.yu │ ├── stack.yu │ ├── sync │ ├── slimpl.c │ └── spinlock.yu │ └── sys │ ├── entry.yu │ ├── structs.yu │ ├── syscall.S │ └── syscall.yu └── utils ├── bin2coe.py └── uart.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/README.md -------------------------------------------------------------------------------- /mkfs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/mkfs/Makefile -------------------------------------------------------------------------------- /mkfs/device.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/mkfs/device.h -------------------------------------------------------------------------------- /mkfs/geefs.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/mkfs/geefs.cpp -------------------------------------------------------------------------------- /mkfs/geefs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/mkfs/geefs.h -------------------------------------------------------------------------------- /mkfs/iosdev.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/mkfs/iosdev.cpp -------------------------------------------------------------------------------- /mkfs/iosdev.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/mkfs/iosdev.h -------------------------------------------------------------------------------- /mkfs/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/mkfs/main.cpp -------------------------------------------------------------------------------- /mkfs/structs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/mkfs/structs.h -------------------------------------------------------------------------------- /rules.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/rules.mk -------------------------------------------------------------------------------- /src/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/Makefile -------------------------------------------------------------------------------- /src/arch/arch.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/arch/arch.yu -------------------------------------------------------------------------------- /src/arch/riscv/addr.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/arch/riscv/addr.yu -------------------------------------------------------------------------------- /src/arch/riscv/consts.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/arch/riscv/consts.yu -------------------------------------------------------------------------------- /src/arch/riscv/csr.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/arch/riscv/csr.S -------------------------------------------------------------------------------- /src/arch/riscv/csr.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/arch/riscv/csr.yu -------------------------------------------------------------------------------- /src/arch/riscv/framealloc.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/arch/riscv/framealloc.yu -------------------------------------------------------------------------------- /src/arch/riscv/pagetable.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/arch/riscv/pagetable.yu -------------------------------------------------------------------------------- /src/arch/riscv/recursive.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/arch/riscv/recursive.yu -------------------------------------------------------------------------------- /src/arch/target/fuxi.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/arch/target/fuxi.yu -------------------------------------------------------------------------------- /src/arch/target/risky32.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/arch/target/risky32.yu -------------------------------------------------------------------------------- /src/arch/target/virt.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/arch/target/virt.yu -------------------------------------------------------------------------------- /src/boot/entry.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/boot/entry.yu -------------------------------------------------------------------------------- /src/boot/init.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/boot/init.S -------------------------------------------------------------------------------- /src/boot/linker.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/boot/linker.ld -------------------------------------------------------------------------------- /src/boot/uart.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/boot/uart.yu -------------------------------------------------------------------------------- /src/define/context.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/define/context.yu -------------------------------------------------------------------------------- /src/entry.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/entry.yu -------------------------------------------------------------------------------- /src/fs/consts.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/fs/consts.yu -------------------------------------------------------------------------------- /src/fs/dev/device.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/fs/dev/device.yu -------------------------------------------------------------------------------- /src/fs/dev/mem.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/fs/dev/mem.yu -------------------------------------------------------------------------------- /src/fs/devfs/fs.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/fs/devfs/fs.yu -------------------------------------------------------------------------------- /src/fs/devfs/stdio.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/fs/devfs/stdio.yu -------------------------------------------------------------------------------- /src/fs/file.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/fs/file.yu -------------------------------------------------------------------------------- /src/fs/fs.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/fs/fs.yu -------------------------------------------------------------------------------- /src/fs/geefs/fs.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/fs/geefs/fs.yu -------------------------------------------------------------------------------- /src/fs/geefs/geefs.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/fs/geefs/geefs.yu -------------------------------------------------------------------------------- /src/fs/geefs/structs.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/fs/geefs/structs.yu -------------------------------------------------------------------------------- /src/fs/info.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/fs/info.yu -------------------------------------------------------------------------------- /src/fs/vfs/vfs.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/fs/vfs/vfs.yu -------------------------------------------------------------------------------- /src/init.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/init.S -------------------------------------------------------------------------------- /src/lib/algo.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/lib/algo.yu -------------------------------------------------------------------------------- /src/lib/alloc.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/lib/alloc.yu -------------------------------------------------------------------------------- /src/lib/c/string.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/lib/c/string.yu -------------------------------------------------------------------------------- /src/lib/elf.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/lib/elf.yu -------------------------------------------------------------------------------- /src/lib/except.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/lib/except.yu -------------------------------------------------------------------------------- /src/lib/hashmap.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/lib/hashmap.yu -------------------------------------------------------------------------------- /src/lib/io.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/lib/io.yu -------------------------------------------------------------------------------- /src/lib/queue.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/lib/queue.yu -------------------------------------------------------------------------------- /src/lib/strview.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/lib/strview.yu -------------------------------------------------------------------------------- /src/linker.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/linker.ld -------------------------------------------------------------------------------- /src/main.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/main.yu -------------------------------------------------------------------------------- /src/mem/area.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/mem/area.yu -------------------------------------------------------------------------------- /src/mem/attr.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/mem/attr.yu -------------------------------------------------------------------------------- /src/mem/consts.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/mem/consts.yu -------------------------------------------------------------------------------- /src/mem/handler.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/mem/handler.yu -------------------------------------------------------------------------------- /src/mem/heap.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/mem/heap.yu -------------------------------------------------------------------------------- /src/mem/mem.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/mem/mem.yu -------------------------------------------------------------------------------- /src/mem/mset.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/mem/mset.yu -------------------------------------------------------------------------------- /src/mem/paging.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/mem/paging.yu -------------------------------------------------------------------------------- /src/mem/pm.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/mem/pm.yu -------------------------------------------------------------------------------- /src/proc/consts.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/proc/consts.yu -------------------------------------------------------------------------------- /src/proc/pool.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/proc/pool.yu -------------------------------------------------------------------------------- /src/proc/proc.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/proc/proc.yu -------------------------------------------------------------------------------- /src/proc/processor.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/proc/processor.yu -------------------------------------------------------------------------------- /src/proc/scheduler.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/proc/scheduler.yu -------------------------------------------------------------------------------- /src/proc/structs.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/proc/structs.yu -------------------------------------------------------------------------------- /src/proc/switch.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/proc/switch.S -------------------------------------------------------------------------------- /src/sync/condvar.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/sync/condvar.yu -------------------------------------------------------------------------------- /src/sync/intr.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/sync/intr.yu -------------------------------------------------------------------------------- /src/sync/semaphore.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/sync/semaphore.yu -------------------------------------------------------------------------------- /src/sync/slimpl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/sync/slimpl.c -------------------------------------------------------------------------------- /src/sync/spinlock.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/sync/spinlock.yu -------------------------------------------------------------------------------- /src/syscall/fs.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/syscall/fs.yu -------------------------------------------------------------------------------- /src/syscall/proc.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/syscall/proc.yu -------------------------------------------------------------------------------- /src/syscall/syscall.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/syscall/syscall.yu -------------------------------------------------------------------------------- /src/trap/trap.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/trap/trap.yu -------------------------------------------------------------------------------- /src/trap/traphand.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/src/trap/traphand.S -------------------------------------------------------------------------------- /toolchain.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/toolchain.mk -------------------------------------------------------------------------------- /usr/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/Makefile -------------------------------------------------------------------------------- /usr/bin/alloc.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/bin/alloc.yu -------------------------------------------------------------------------------- /usr/bin/hello.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/bin/hello.yu -------------------------------------------------------------------------------- /usr/bin/notepad.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/bin/notepad.yu -------------------------------------------------------------------------------- /usr/bin/shell.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/bin/shell.yu -------------------------------------------------------------------------------- /usr/lib/alloc.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/lib/alloc.yu -------------------------------------------------------------------------------- /usr/lib/c/string.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/lib/c/string.yu -------------------------------------------------------------------------------- /usr/lib/except.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/lib/except.yu -------------------------------------------------------------------------------- /usr/lib/io.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/lib/io.yu -------------------------------------------------------------------------------- /usr/lib/stack.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/lib/stack.yu -------------------------------------------------------------------------------- /usr/lib/sync/slimpl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/lib/sync/slimpl.c -------------------------------------------------------------------------------- /usr/lib/sync/spinlock.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/lib/sync/spinlock.yu -------------------------------------------------------------------------------- /usr/lib/sys/entry.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/lib/sys/entry.yu -------------------------------------------------------------------------------- /usr/lib/sys/structs.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/lib/sys/structs.yu -------------------------------------------------------------------------------- /usr/lib/sys/syscall.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/lib/sys/syscall.S -------------------------------------------------------------------------------- /usr/lib/sys/syscall.yu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/usr/lib/sys/syscall.yu -------------------------------------------------------------------------------- /utils/bin2coe.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/utils/bin2coe.py -------------------------------------------------------------------------------- /utils/uart.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MaxXSoft/GeeOS/HEAD/utils/uart.py --------------------------------------------------------------------------------