├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── bootloader ├── .cargo │ └── config ├── Cargo.lock ├── Cargo.toml ├── Makefile ├── boot.s ├── build.rs ├── linker.ld ├── riscv32ima-unknown-none-elf.json └── src │ └── main.rs ├── fs ├── .cargo │ └── config ├── Cargo.lock ├── Cargo.toml ├── scripts │ └── disk_formatter.py └── src │ ├── dir.rs │ ├── filesystem.rs │ ├── hardware │ ├── memory_block_manager.rs │ └── mod.rs │ ├── lib.rs │ └── regular.rs ├── kernel ├── .cargo │ └── config ├── Cargo.lock ├── Cargo.toml ├── Makefile ├── _build.rs ├── append_length.py ├── boot.s ├── build.sh ├── linker.ld ├── riscv32ima-unknown-none-elf.json └── src │ ├── bounded_buffer.rs │ ├── csr │ ├── mod.rs │ ├── satp.rs │ ├── scause.rs │ ├── sepc.rs │ ├── sie.rs │ ├── sip.rs │ ├── sstatus.rs │ ├── stval.rs │ ├── stvec.rs │ └── timer.rs │ ├── elf.rs │ ├── files.rs │ ├── kernel.rs │ ├── main.rs │ ├── memlayout.rs │ ├── memutil.rs │ ├── paging.rs │ ├── proc.rs │ ├── syscall.rs │ ├── trap.rs │ ├── uart.rs │ └── utils.rs ├── misc ├── .cargo │ └── config ├── Cargo.lock ├── Cargo.toml ├── Makefile ├── linker.ld ├── riscv32ima-unknown-none-elf.json └── src │ ├── bin │ ├── catch_ball.rs │ ├── hello.rs │ ├── loop.rs │ ├── loopback.rs │ ├── nop.rs │ ├── sh.rs │ ├── syscaller.rs │ └── tic.rs │ ├── lib.rs │ ├── syscall.rs │ └── uart.rs ├── scripts ├── elf2bin.sh ├── run.sh └── setup.sh └── syscall ├── .cargo └── config ├── Cargo.lock ├── Cargo.toml └── src ├── errors.rs ├── lib.rs ├── number.rs └── perm.rs /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/README.md -------------------------------------------------------------------------------- /bootloader/.cargo/config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/bootloader/.cargo/config -------------------------------------------------------------------------------- /bootloader/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/bootloader/Cargo.lock -------------------------------------------------------------------------------- /bootloader/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/bootloader/Cargo.toml -------------------------------------------------------------------------------- /bootloader/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/bootloader/Makefile -------------------------------------------------------------------------------- /bootloader/boot.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/bootloader/boot.s -------------------------------------------------------------------------------- /bootloader/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/bootloader/build.rs -------------------------------------------------------------------------------- /bootloader/linker.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/bootloader/linker.ld -------------------------------------------------------------------------------- /bootloader/riscv32ima-unknown-none-elf.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/bootloader/riscv32ima-unknown-none-elf.json -------------------------------------------------------------------------------- /bootloader/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/bootloader/src/main.rs -------------------------------------------------------------------------------- /fs/.cargo/config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/fs/.cargo/config -------------------------------------------------------------------------------- /fs/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/fs/Cargo.lock -------------------------------------------------------------------------------- /fs/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/fs/Cargo.toml -------------------------------------------------------------------------------- /fs/scripts/disk_formatter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/fs/scripts/disk_formatter.py -------------------------------------------------------------------------------- /fs/src/dir.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/fs/src/dir.rs -------------------------------------------------------------------------------- /fs/src/filesystem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/fs/src/filesystem.rs -------------------------------------------------------------------------------- /fs/src/hardware/memory_block_manager.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/fs/src/hardware/memory_block_manager.rs -------------------------------------------------------------------------------- /fs/src/hardware/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod memory_block_manager; -------------------------------------------------------------------------------- /fs/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/fs/src/lib.rs -------------------------------------------------------------------------------- /fs/src/regular.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/fs/src/regular.rs -------------------------------------------------------------------------------- /kernel/.cargo/config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/.cargo/config -------------------------------------------------------------------------------- /kernel/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/Cargo.lock -------------------------------------------------------------------------------- /kernel/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/Cargo.toml -------------------------------------------------------------------------------- /kernel/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/Makefile -------------------------------------------------------------------------------- /kernel/_build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/_build.rs -------------------------------------------------------------------------------- /kernel/append_length.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/append_length.py -------------------------------------------------------------------------------- /kernel/boot.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/boot.s -------------------------------------------------------------------------------- /kernel/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/build.sh -------------------------------------------------------------------------------- /kernel/linker.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/linker.ld -------------------------------------------------------------------------------- /kernel/riscv32ima-unknown-none-elf.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/riscv32ima-unknown-none-elf.json -------------------------------------------------------------------------------- /kernel/src/bounded_buffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/bounded_buffer.rs -------------------------------------------------------------------------------- /kernel/src/csr/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/csr/mod.rs -------------------------------------------------------------------------------- /kernel/src/csr/satp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/csr/satp.rs -------------------------------------------------------------------------------- /kernel/src/csr/scause.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/csr/scause.rs -------------------------------------------------------------------------------- /kernel/src/csr/sepc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/csr/sepc.rs -------------------------------------------------------------------------------- /kernel/src/csr/sie.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/csr/sie.rs -------------------------------------------------------------------------------- /kernel/src/csr/sip.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/csr/sip.rs -------------------------------------------------------------------------------- /kernel/src/csr/sstatus.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/csr/sstatus.rs -------------------------------------------------------------------------------- /kernel/src/csr/stval.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/csr/stval.rs -------------------------------------------------------------------------------- /kernel/src/csr/stvec.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/csr/stvec.rs -------------------------------------------------------------------------------- /kernel/src/csr/timer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/csr/timer.rs -------------------------------------------------------------------------------- /kernel/src/elf.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/elf.rs -------------------------------------------------------------------------------- /kernel/src/files.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/files.rs -------------------------------------------------------------------------------- /kernel/src/kernel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/kernel.rs -------------------------------------------------------------------------------- /kernel/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/main.rs -------------------------------------------------------------------------------- /kernel/src/memlayout.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/memlayout.rs -------------------------------------------------------------------------------- /kernel/src/memutil.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/memutil.rs -------------------------------------------------------------------------------- /kernel/src/paging.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/paging.rs -------------------------------------------------------------------------------- /kernel/src/proc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/proc.rs -------------------------------------------------------------------------------- /kernel/src/syscall.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/syscall.rs -------------------------------------------------------------------------------- /kernel/src/trap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/trap.rs -------------------------------------------------------------------------------- /kernel/src/uart.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/uart.rs -------------------------------------------------------------------------------- /kernel/src/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/kernel/src/utils.rs -------------------------------------------------------------------------------- /misc/.cargo/config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/.cargo/config -------------------------------------------------------------------------------- /misc/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/Cargo.lock -------------------------------------------------------------------------------- /misc/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/Cargo.toml -------------------------------------------------------------------------------- /misc/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/Makefile -------------------------------------------------------------------------------- /misc/linker.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/linker.ld -------------------------------------------------------------------------------- /misc/riscv32ima-unknown-none-elf.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/riscv32ima-unknown-none-elf.json -------------------------------------------------------------------------------- /misc/src/bin/catch_ball.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/src/bin/catch_ball.rs -------------------------------------------------------------------------------- /misc/src/bin/hello.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/src/bin/hello.rs -------------------------------------------------------------------------------- /misc/src/bin/loop.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/src/bin/loop.rs -------------------------------------------------------------------------------- /misc/src/bin/loopback.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/src/bin/loopback.rs -------------------------------------------------------------------------------- /misc/src/bin/nop.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/src/bin/nop.rs -------------------------------------------------------------------------------- /misc/src/bin/sh.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/src/bin/sh.rs -------------------------------------------------------------------------------- /misc/src/bin/syscaller.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/src/bin/syscaller.rs -------------------------------------------------------------------------------- /misc/src/bin/tic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/src/bin/tic.rs -------------------------------------------------------------------------------- /misc/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/src/lib.rs -------------------------------------------------------------------------------- /misc/src/syscall.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/src/syscall.rs -------------------------------------------------------------------------------- /misc/src/uart.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/misc/src/uart.rs -------------------------------------------------------------------------------- /scripts/elf2bin.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/scripts/elf2bin.sh -------------------------------------------------------------------------------- /scripts/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/scripts/run.sh -------------------------------------------------------------------------------- /scripts/setup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/scripts/setup.sh -------------------------------------------------------------------------------- /syscall/.cargo/config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/syscall/.cargo/config -------------------------------------------------------------------------------- /syscall/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/syscall/Cargo.lock -------------------------------------------------------------------------------- /syscall/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/syscall/Cargo.toml -------------------------------------------------------------------------------- /syscall/src/errors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/syscall/src/errors.rs -------------------------------------------------------------------------------- /syscall/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/syscall/src/lib.rs -------------------------------------------------------------------------------- /syscall/src/number.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/syscall/src/number.rs -------------------------------------------------------------------------------- /syscall/src/perm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/moratorium08/osmium/HEAD/syscall/src/perm.rs --------------------------------------------------------------------------------