├── .cargo └── config.toml ├── .github └── workflows │ ├── clippy.yml │ ├── doc.yml │ ├── format.yml │ └── test.yml ├── .gitignore ├── Cargo.toml ├── README.md ├── aarch64_qemuvirt ├── .cargo │ └── config.toml ├── Cargo.toml ├── build.rs └── src │ ├── aarch64_qemuvirt.ld │ └── main.rs ├── flake.lock ├── flake.nix ├── hal_aarch64 ├── Cargo.toml └── src │ ├── cpu.rs │ ├── devices │ ├── gicv2.rs │ └── mod.rs │ ├── exceptions.S │ ├── irq.rs │ ├── lib.rs │ └── mm │ ├── mod.rs │ └── pgt48.rs ├── hal_core ├── Cargo.toml └── src │ ├── lib.rs │ └── mm.rs ├── hal_riscv64 ├── Cargo.toml └── src │ ├── cpu.rs │ ├── irq.rs │ ├── lib.rs │ ├── mm │ ├── mod.rs │ └── sv39.rs │ ├── plic.rs │ └── registers.rs ├── kernel ├── Cargo.lock ├── Cargo.toml ├── fixtures │ ├── Makefile │ └── small.S └── src │ ├── device_tree.rs │ ├── driver_manager.rs │ ├── drivers │ ├── mod.rs │ ├── ns16550.rs │ ├── null_uart.rs │ ├── pl011.rs │ └── qemuexit.rs │ ├── error.rs │ ├── executable │ ├── elf.rs │ └── mod.rs │ ├── generic_main.rs │ ├── globals.rs │ ├── kernel_console.rs │ ├── kernel_tests.rs │ ├── lib.rs │ ├── mm │ ├── binary_buddy_allocator.rs │ ├── mod.rs │ └── physical_memory_manager.rs │ ├── panic.rs │ ├── tests.rs │ └── utils │ ├── lock.rs │ └── mod.rs ├── riscv64_qemuvirt ├── .cargo │ └── config.toml ├── Cargo.toml ├── build.rs └── src │ ├── main.rs │ └── riscv64_qemuvirt.ld └── tests ├── .cargo └── config ├── Cargo.toml └── src └── main.rs /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [unstable] 2 | bindeps = true 3 | -------------------------------------------------------------------------------- /.github/workflows/clippy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/.github/workflows/clippy.yml -------------------------------------------------------------------------------- /.github/workflows/doc.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/.github/workflows/doc.yml -------------------------------------------------------------------------------- /.github/workflows/format.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/.github/workflows/format.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/.gitignore -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/Cargo.toml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/README.md -------------------------------------------------------------------------------- /aarch64_qemuvirt/.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/aarch64_qemuvirt/.cargo/config.toml -------------------------------------------------------------------------------- /aarch64_qemuvirt/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/aarch64_qemuvirt/Cargo.toml -------------------------------------------------------------------------------- /aarch64_qemuvirt/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/aarch64_qemuvirt/build.rs -------------------------------------------------------------------------------- /aarch64_qemuvirt/src/aarch64_qemuvirt.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/aarch64_qemuvirt/src/aarch64_qemuvirt.ld -------------------------------------------------------------------------------- /aarch64_qemuvirt/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/aarch64_qemuvirt/src/main.rs -------------------------------------------------------------------------------- /flake.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/flake.lock -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/flake.nix -------------------------------------------------------------------------------- /hal_aarch64/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_aarch64/Cargo.toml -------------------------------------------------------------------------------- /hal_aarch64/src/cpu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_aarch64/src/cpu.rs -------------------------------------------------------------------------------- /hal_aarch64/src/devices/gicv2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_aarch64/src/devices/gicv2.rs -------------------------------------------------------------------------------- /hal_aarch64/src/devices/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod gicv2; 2 | -------------------------------------------------------------------------------- /hal_aarch64/src/exceptions.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_aarch64/src/exceptions.S -------------------------------------------------------------------------------- /hal_aarch64/src/irq.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_aarch64/src/irq.rs -------------------------------------------------------------------------------- /hal_aarch64/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_aarch64/src/lib.rs -------------------------------------------------------------------------------- /hal_aarch64/src/mm/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_aarch64/src/mm/mod.rs -------------------------------------------------------------------------------- /hal_aarch64/src/mm/pgt48.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_aarch64/src/mm/pgt48.rs -------------------------------------------------------------------------------- /hal_core/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_core/Cargo.toml -------------------------------------------------------------------------------- /hal_core/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_core/src/lib.rs -------------------------------------------------------------------------------- /hal_core/src/mm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_core/src/mm.rs -------------------------------------------------------------------------------- /hal_riscv64/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_riscv64/Cargo.toml -------------------------------------------------------------------------------- /hal_riscv64/src/cpu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_riscv64/src/cpu.rs -------------------------------------------------------------------------------- /hal_riscv64/src/irq.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_riscv64/src/irq.rs -------------------------------------------------------------------------------- /hal_riscv64/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_riscv64/src/lib.rs -------------------------------------------------------------------------------- /hal_riscv64/src/mm/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_riscv64/src/mm/mod.rs -------------------------------------------------------------------------------- /hal_riscv64/src/mm/sv39.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_riscv64/src/mm/sv39.rs -------------------------------------------------------------------------------- /hal_riscv64/src/plic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_riscv64/src/plic.rs -------------------------------------------------------------------------------- /hal_riscv64/src/registers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/hal_riscv64/src/registers.rs -------------------------------------------------------------------------------- /kernel/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/Cargo.lock -------------------------------------------------------------------------------- /kernel/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/Cargo.toml -------------------------------------------------------------------------------- /kernel/fixtures/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/fixtures/Makefile -------------------------------------------------------------------------------- /kernel/fixtures/small.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/fixtures/small.S -------------------------------------------------------------------------------- /kernel/src/device_tree.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/device_tree.rs -------------------------------------------------------------------------------- /kernel/src/driver_manager.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/driver_manager.rs -------------------------------------------------------------------------------- /kernel/src/drivers/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/drivers/mod.rs -------------------------------------------------------------------------------- /kernel/src/drivers/ns16550.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/drivers/ns16550.rs -------------------------------------------------------------------------------- /kernel/src/drivers/null_uart.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/drivers/null_uart.rs -------------------------------------------------------------------------------- /kernel/src/drivers/pl011.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/drivers/pl011.rs -------------------------------------------------------------------------------- /kernel/src/drivers/qemuexit.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/drivers/qemuexit.rs -------------------------------------------------------------------------------- /kernel/src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/error.rs -------------------------------------------------------------------------------- /kernel/src/executable/elf.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/executable/elf.rs -------------------------------------------------------------------------------- /kernel/src/executable/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod elf; 2 | -------------------------------------------------------------------------------- /kernel/src/generic_main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/generic_main.rs -------------------------------------------------------------------------------- /kernel/src/globals.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/globals.rs -------------------------------------------------------------------------------- /kernel/src/kernel_console.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/kernel_console.rs -------------------------------------------------------------------------------- /kernel/src/kernel_tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/kernel_tests.rs -------------------------------------------------------------------------------- /kernel/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/lib.rs -------------------------------------------------------------------------------- /kernel/src/mm/binary_buddy_allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/mm/binary_buddy_allocator.rs -------------------------------------------------------------------------------- /kernel/src/mm/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/mm/mod.rs -------------------------------------------------------------------------------- /kernel/src/mm/physical_memory_manager.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/mm/physical_memory_manager.rs -------------------------------------------------------------------------------- /kernel/src/panic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/panic.rs -------------------------------------------------------------------------------- /kernel/src/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/tests.rs -------------------------------------------------------------------------------- /kernel/src/utils/lock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/utils/lock.rs -------------------------------------------------------------------------------- /kernel/src/utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/kernel/src/utils/mod.rs -------------------------------------------------------------------------------- /riscv64_qemuvirt/.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/riscv64_qemuvirt/.cargo/config.toml -------------------------------------------------------------------------------- /riscv64_qemuvirt/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/riscv64_qemuvirt/Cargo.toml -------------------------------------------------------------------------------- /riscv64_qemuvirt/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/riscv64_qemuvirt/build.rs -------------------------------------------------------------------------------- /riscv64_qemuvirt/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/riscv64_qemuvirt/src/main.rs -------------------------------------------------------------------------------- /riscv64_qemuvirt/src/riscv64_qemuvirt.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/riscv64_qemuvirt/src/riscv64_qemuvirt.ld -------------------------------------------------------------------------------- /tests/.cargo/config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/tests/.cargo/config -------------------------------------------------------------------------------- /tests/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/tests/Cargo.toml -------------------------------------------------------------------------------- /tests/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ks0n/goOSe/HEAD/tests/src/main.rs --------------------------------------------------------------------------------