├── .cargo └── config.toml ├── .gitattributes ├── .github ├── dependabot.yml └── workflows │ ├── clippy.yml │ ├── format.yml │ └── run.yml ├── .gitignore ├── .rustfmt.toml ├── CITATION.cff ├── Cargo.lock ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── demo ├── Makefile ├── hello └── hello.c ├── i686-eduos.json ├── rust-toolchain.toml ├── src ├── arch │ ├── mod.rs │ └── x86 │ │ ├── kernel │ │ ├── entry32.s │ │ ├── gdt.rs │ │ ├── irq.rs │ │ ├── link_i686.ld │ │ ├── mod.rs │ │ ├── pit.rs │ │ ├── processor.rs │ │ ├── serial.rs │ │ ├── start.rs │ │ ├── switch.rs │ │ ├── syscall.rs │ │ ├── task.rs │ │ └── vga.rs │ │ ├── mm │ │ ├── mod.rs │ │ ├── paging.rs │ │ ├── physicalmem.rs │ │ └── virtualmem.rs │ │ └── mod.rs ├── collections │ └── mod.rs ├── console.rs ├── consts.rs ├── errno.rs ├── fd │ ├── mod.rs │ └── stdio.rs ├── fs │ ├── initrd.rs │ ├── mod.rs │ └── vfs.rs ├── io.rs ├── lib.rs ├── logging.rs ├── macros.rs ├── main.rs ├── mm │ ├── buddy.rs │ ├── freelist.rs │ ├── linked_list.rs │ └── mod.rs ├── scheduler │ ├── mod.rs │ ├── scheduler.rs │ └── task.rs ├── synch │ ├── mod.rs │ ├── mutex.rs │ └── spinlock.rs └── syscall │ ├── exit.rs │ ├── invalid.rs │ ├── mod.rs │ ├── nothing.rs │ └── write.rs ├── test.ps1 ├── test.sh └── x86_64-eduos.json /.cargo/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/.cargo/config.toml -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/clippy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/.github/workflows/clippy.yml -------------------------------------------------------------------------------- /.github/workflows/format.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/.github/workflows/format.yml -------------------------------------------------------------------------------- /.github/workflows/run.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/.github/workflows/run.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | -------------------------------------------------------------------------------- /.rustfmt.toml: -------------------------------------------------------------------------------- 1 | hard_tabs = true 2 | -------------------------------------------------------------------------------- /CITATION.cff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/CITATION.cff -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/LICENSE-APACHE -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/README.md -------------------------------------------------------------------------------- /demo/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/demo/Makefile -------------------------------------------------------------------------------- /demo/hello: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/demo/hello -------------------------------------------------------------------------------- /demo/hello.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/demo/hello.c -------------------------------------------------------------------------------- /i686-eduos.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/i686-eduos.json -------------------------------------------------------------------------------- /rust-toolchain.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/rust-toolchain.toml -------------------------------------------------------------------------------- /src/arch/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/mod.rs -------------------------------------------------------------------------------- /src/arch/x86/kernel/entry32.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/kernel/entry32.s -------------------------------------------------------------------------------- /src/arch/x86/kernel/gdt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/kernel/gdt.rs -------------------------------------------------------------------------------- /src/arch/x86/kernel/irq.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/kernel/irq.rs -------------------------------------------------------------------------------- /src/arch/x86/kernel/link_i686.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/kernel/link_i686.ld -------------------------------------------------------------------------------- /src/arch/x86/kernel/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/kernel/mod.rs -------------------------------------------------------------------------------- /src/arch/x86/kernel/pit.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/kernel/pit.rs -------------------------------------------------------------------------------- /src/arch/x86/kernel/processor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/kernel/processor.rs -------------------------------------------------------------------------------- /src/arch/x86/kernel/serial.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/kernel/serial.rs -------------------------------------------------------------------------------- /src/arch/x86/kernel/start.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/kernel/start.rs -------------------------------------------------------------------------------- /src/arch/x86/kernel/switch.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/kernel/switch.rs -------------------------------------------------------------------------------- /src/arch/x86/kernel/syscall.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/kernel/syscall.rs -------------------------------------------------------------------------------- /src/arch/x86/kernel/task.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/kernel/task.rs -------------------------------------------------------------------------------- /src/arch/x86/kernel/vga.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/kernel/vga.rs -------------------------------------------------------------------------------- /src/arch/x86/mm/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/mm/mod.rs -------------------------------------------------------------------------------- /src/arch/x86/mm/paging.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/mm/paging.rs -------------------------------------------------------------------------------- /src/arch/x86/mm/physicalmem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/mm/physicalmem.rs -------------------------------------------------------------------------------- /src/arch/x86/mm/virtualmem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/mm/virtualmem.rs -------------------------------------------------------------------------------- /src/arch/x86/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/arch/x86/mod.rs -------------------------------------------------------------------------------- /src/collections/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/collections/mod.rs -------------------------------------------------------------------------------- /src/console.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/console.rs -------------------------------------------------------------------------------- /src/consts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/consts.rs -------------------------------------------------------------------------------- /src/errno.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/errno.rs -------------------------------------------------------------------------------- /src/fd/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/fd/mod.rs -------------------------------------------------------------------------------- /src/fd/stdio.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/fd/stdio.rs -------------------------------------------------------------------------------- /src/fs/initrd.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/fs/initrd.rs -------------------------------------------------------------------------------- /src/fs/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/fs/mod.rs -------------------------------------------------------------------------------- /src/fs/vfs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/fs/vfs.rs -------------------------------------------------------------------------------- /src/io.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/io.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/logging.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/logging.rs -------------------------------------------------------------------------------- /src/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/macros.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/mm/buddy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/mm/buddy.rs -------------------------------------------------------------------------------- /src/mm/freelist.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/mm/freelist.rs -------------------------------------------------------------------------------- /src/mm/linked_list.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/mm/linked_list.rs -------------------------------------------------------------------------------- /src/mm/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/mm/mod.rs -------------------------------------------------------------------------------- /src/scheduler/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/scheduler/mod.rs -------------------------------------------------------------------------------- /src/scheduler/scheduler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/scheduler/scheduler.rs -------------------------------------------------------------------------------- /src/scheduler/task.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/scheduler/task.rs -------------------------------------------------------------------------------- /src/synch/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/synch/mod.rs -------------------------------------------------------------------------------- /src/synch/mutex.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/synch/mutex.rs -------------------------------------------------------------------------------- /src/synch/spinlock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/synch/spinlock.rs -------------------------------------------------------------------------------- /src/syscall/exit.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/syscall/exit.rs -------------------------------------------------------------------------------- /src/syscall/invalid.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/syscall/invalid.rs -------------------------------------------------------------------------------- /src/syscall/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/syscall/mod.rs -------------------------------------------------------------------------------- /src/syscall/nothing.rs: -------------------------------------------------------------------------------- 1 | pub(crate) extern "C" fn sys_nothing() -> i32 { 2 | 0 3 | } 4 | -------------------------------------------------------------------------------- /src/syscall/write.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/src/syscall/write.rs -------------------------------------------------------------------------------- /test.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/test.ps1 -------------------------------------------------------------------------------- /test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/test.sh -------------------------------------------------------------------------------- /x86_64-eduos.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RWTH-OS/eduOS-rs/HEAD/x86_64-eduos.json --------------------------------------------------------------------------------