├── .cargo └── config.toml ├── .github └── workflows │ └── xtask.yml ├── .gitignore ├── .vscode ├── launch.json └── settings.json ├── Cargo.lock ├── Cargo.toml ├── HowItWorks.md ├── LICENSE ├── README.md ├── aarch64 ├── Cargo.toml ├── lib │ ├── bcm2710-rpi-3-b.dtb │ ├── bcm2710-rpi-3-b.dts │ ├── bcm2711-rpi-4-b.dtb │ ├── bcm2711-rpi-4-b.dts │ ├── config_default.toml │ ├── config_raspi4b.toml │ └── kernel.ld └── src │ ├── allocator.rs │ ├── devcons.rs │ ├── deviceutil.rs │ ├── io.rs │ ├── kmem.rs │ ├── l.S │ ├── mailbox.rs │ ├── main.rs │ ├── pagealloc.rs │ ├── param.rs │ ├── registers.rs │ ├── runtime.rs │ ├── swtch.S │ ├── swtch.rs │ ├── trap.S │ ├── trap.rs │ ├── uartmini.rs │ ├── uartpl011.rs │ ├── vm.rs │ └── vmdebug.rs ├── lib ├── aarch64-unknown-none-elf.json ├── riscv64-unknown-none-elf.json └── x86_64-unknown-none-elf.json ├── port ├── Cargo.toml ├── lib │ └── test │ │ └── fdt │ │ ├── readme.txt │ │ ├── test1.dtb │ │ └── test1.dts ├── src │ ├── allocator.rs │ ├── bitmapalloc.rs │ ├── dat.rs │ ├── devcons.rs │ ├── fdt.rs │ ├── lib.rs │ ├── maths.rs │ ├── mcslock.rs │ ├── mem.rs │ └── pagealloc.rs └── tests │ └── fdt_test.rs ├── riscv64 ├── Cargo.toml ├── README.md ├── lib │ ├── config_default.toml │ └── kernel.ld └── src │ ├── allocator.rs │ ├── l.S │ ├── main.rs │ ├── platform │ ├── mod.rs │ ├── nezha │ │ ├── devcons.rs │ │ └── mod.rs │ └── virt │ │ ├── devcons.rs │ │ └── mod.rs │ ├── runtime.rs │ ├── sbi.rs │ └── uart16550.rs ├── rust-toolchain.toml ├── rustfmt.toml ├── x86_64 ├── Cargo.toml ├── lib │ ├── config_default.toml │ └── kernel.ld └── src │ ├── allocator.rs │ ├── cpu.rs │ ├── dat.rs │ ├── devcons.rs │ ├── l.S │ ├── main.rs │ ├── node0.rs │ ├── pio.rs │ ├── proc.rs │ ├── runtime.rs │ ├── syscall.rs │ ├── trap.rs │ ├── uart16550.rs │ └── vsvm.rs └── xtask ├── Cargo.lock ├── Cargo.toml ├── doc └── config_example.toml └── src ├── config.rs └── main.rs /.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/.cargo/config.toml -------------------------------------------------------------------------------- /.github/workflows/xtask.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/.github/workflows/xtask.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/Cargo.toml -------------------------------------------------------------------------------- /HowItWorks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/HowItWorks.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/README.md -------------------------------------------------------------------------------- /aarch64/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/Cargo.toml -------------------------------------------------------------------------------- /aarch64/lib/bcm2710-rpi-3-b.dtb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/lib/bcm2710-rpi-3-b.dtb -------------------------------------------------------------------------------- /aarch64/lib/bcm2710-rpi-3-b.dts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/lib/bcm2710-rpi-3-b.dts -------------------------------------------------------------------------------- /aarch64/lib/bcm2711-rpi-4-b.dtb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/lib/bcm2711-rpi-4-b.dtb -------------------------------------------------------------------------------- /aarch64/lib/bcm2711-rpi-4-b.dts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/lib/bcm2711-rpi-4-b.dts -------------------------------------------------------------------------------- /aarch64/lib/config_default.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/lib/config_default.toml -------------------------------------------------------------------------------- /aarch64/lib/config_raspi4b.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/lib/config_raspi4b.toml -------------------------------------------------------------------------------- /aarch64/lib/kernel.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/lib/kernel.ld -------------------------------------------------------------------------------- /aarch64/src/allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/allocator.rs -------------------------------------------------------------------------------- /aarch64/src/devcons.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/devcons.rs -------------------------------------------------------------------------------- /aarch64/src/deviceutil.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/deviceutil.rs -------------------------------------------------------------------------------- /aarch64/src/io.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/io.rs -------------------------------------------------------------------------------- /aarch64/src/kmem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/kmem.rs -------------------------------------------------------------------------------- /aarch64/src/l.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/l.S -------------------------------------------------------------------------------- /aarch64/src/mailbox.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/mailbox.rs -------------------------------------------------------------------------------- /aarch64/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/main.rs -------------------------------------------------------------------------------- /aarch64/src/pagealloc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/pagealloc.rs -------------------------------------------------------------------------------- /aarch64/src/param.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/param.rs -------------------------------------------------------------------------------- /aarch64/src/registers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/registers.rs -------------------------------------------------------------------------------- /aarch64/src/runtime.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/runtime.rs -------------------------------------------------------------------------------- /aarch64/src/swtch.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/swtch.S -------------------------------------------------------------------------------- /aarch64/src/swtch.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/swtch.rs -------------------------------------------------------------------------------- /aarch64/src/trap.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/trap.S -------------------------------------------------------------------------------- /aarch64/src/trap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/trap.rs -------------------------------------------------------------------------------- /aarch64/src/uartmini.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/uartmini.rs -------------------------------------------------------------------------------- /aarch64/src/uartpl011.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/uartpl011.rs -------------------------------------------------------------------------------- /aarch64/src/vm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/vm.rs -------------------------------------------------------------------------------- /aarch64/src/vmdebug.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/aarch64/src/vmdebug.rs -------------------------------------------------------------------------------- /lib/aarch64-unknown-none-elf.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/lib/aarch64-unknown-none-elf.json -------------------------------------------------------------------------------- /lib/riscv64-unknown-none-elf.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/lib/riscv64-unknown-none-elf.json -------------------------------------------------------------------------------- /lib/x86_64-unknown-none-elf.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/lib/x86_64-unknown-none-elf.json -------------------------------------------------------------------------------- /port/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/port/Cargo.toml -------------------------------------------------------------------------------- /port/lib/test/fdt/readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/port/lib/test/fdt/readme.txt -------------------------------------------------------------------------------- /port/lib/test/fdt/test1.dtb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/port/lib/test/fdt/test1.dtb -------------------------------------------------------------------------------- /port/lib/test/fdt/test1.dts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/port/lib/test/fdt/test1.dts -------------------------------------------------------------------------------- /port/src/allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/port/src/allocator.rs -------------------------------------------------------------------------------- /port/src/bitmapalloc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/port/src/bitmapalloc.rs -------------------------------------------------------------------------------- /port/src/dat.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/port/src/dat.rs -------------------------------------------------------------------------------- /port/src/devcons.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/port/src/devcons.rs -------------------------------------------------------------------------------- /port/src/fdt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/port/src/fdt.rs -------------------------------------------------------------------------------- /port/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/port/src/lib.rs -------------------------------------------------------------------------------- /port/src/maths.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/port/src/maths.rs -------------------------------------------------------------------------------- /port/src/mcslock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/port/src/mcslock.rs -------------------------------------------------------------------------------- /port/src/mem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/port/src/mem.rs -------------------------------------------------------------------------------- /port/src/pagealloc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/port/src/pagealloc.rs -------------------------------------------------------------------------------- /port/tests/fdt_test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/port/tests/fdt_test.rs -------------------------------------------------------------------------------- /riscv64/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/riscv64/Cargo.toml -------------------------------------------------------------------------------- /riscv64/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/riscv64/README.md -------------------------------------------------------------------------------- /riscv64/lib/config_default.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/riscv64/lib/config_default.toml -------------------------------------------------------------------------------- /riscv64/lib/kernel.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/riscv64/lib/kernel.ld -------------------------------------------------------------------------------- /riscv64/src/allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/riscv64/src/allocator.rs -------------------------------------------------------------------------------- /riscv64/src/l.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/riscv64/src/l.S -------------------------------------------------------------------------------- /riscv64/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/riscv64/src/main.rs -------------------------------------------------------------------------------- /riscv64/src/platform/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/riscv64/src/platform/mod.rs -------------------------------------------------------------------------------- /riscv64/src/platform/nezha/devcons.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/riscv64/src/platform/nezha/devcons.rs -------------------------------------------------------------------------------- /riscv64/src/platform/nezha/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod devcons; 2 | 3 | pub fn platform_init() {} 4 | -------------------------------------------------------------------------------- /riscv64/src/platform/virt/devcons.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/riscv64/src/platform/virt/devcons.rs -------------------------------------------------------------------------------- /riscv64/src/platform/virt/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod devcons; 2 | 3 | pub fn platform_init() {} 4 | -------------------------------------------------------------------------------- /riscv64/src/runtime.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/riscv64/src/runtime.rs -------------------------------------------------------------------------------- /riscv64/src/sbi.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/riscv64/src/sbi.rs -------------------------------------------------------------------------------- /riscv64/src/uart16550.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/riscv64/src/uart16550.rs -------------------------------------------------------------------------------- /rust-toolchain.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/rust-toolchain.toml -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/rustfmt.toml -------------------------------------------------------------------------------- /x86_64/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/Cargo.toml -------------------------------------------------------------------------------- /x86_64/lib/config_default.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/lib/config_default.toml -------------------------------------------------------------------------------- /x86_64/lib/kernel.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/lib/kernel.ld -------------------------------------------------------------------------------- /x86_64/src/allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/src/allocator.rs -------------------------------------------------------------------------------- /x86_64/src/cpu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/src/cpu.rs -------------------------------------------------------------------------------- /x86_64/src/dat.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/src/dat.rs -------------------------------------------------------------------------------- /x86_64/src/devcons.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/src/devcons.rs -------------------------------------------------------------------------------- /x86_64/src/l.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/src/l.S -------------------------------------------------------------------------------- /x86_64/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/src/main.rs -------------------------------------------------------------------------------- /x86_64/src/node0.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/src/node0.rs -------------------------------------------------------------------------------- /x86_64/src/pio.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/src/pio.rs -------------------------------------------------------------------------------- /x86_64/src/proc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/src/proc.rs -------------------------------------------------------------------------------- /x86_64/src/runtime.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/src/runtime.rs -------------------------------------------------------------------------------- /x86_64/src/syscall.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/src/syscall.rs -------------------------------------------------------------------------------- /x86_64/src/trap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/src/trap.rs -------------------------------------------------------------------------------- /x86_64/src/uart16550.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/src/uart16550.rs -------------------------------------------------------------------------------- /x86_64/src/vsvm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/x86_64/src/vsvm.rs -------------------------------------------------------------------------------- /xtask/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/xtask/Cargo.lock -------------------------------------------------------------------------------- /xtask/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/xtask/Cargo.toml -------------------------------------------------------------------------------- /xtask/doc/config_example.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/xtask/doc/config_example.toml -------------------------------------------------------------------------------- /xtask/src/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/xtask/src/config.rs -------------------------------------------------------------------------------- /xtask/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/r9os/r9/HEAD/xtask/src/main.rs --------------------------------------------------------------------------------