├── .gitignore ├── .vscode └── settings.json ├── LICENSE.md ├── Makefile ├── README.md ├── arch └── x86 │ ├── asm │ ├── gdt.inc │ ├── multiboot_header.s │ └── rt0.s │ └── script │ ├── grub.cfg.tpl │ └── linker.ld ├── disk └── .gitkeep ├── dup.sh ├── go.mod ├── go.sum ├── kernel ├── cpu.go ├── cpu.s ├── debug.go ├── domain.go ├── elfloader.go ├── harddisk.go ├── interrupts.go ├── interrupts.s ├── keyboard.go ├── keycodes.go ├── log │ └── print.go ├── main │ ├── main.go │ └── main.s ├── mm │ ├── memspace.go │ ├── page.go │ └── pagetable.go ├── multiboot.go ├── paging.go ├── paging.s ├── panic.go ├── panic.s ├── panic │ └── panic.go ├── pic.go ├── pit.go ├── qemu.go ├── ring.go ├── schedule.go ├── schedule.s ├── segments.go ├── segments.s ├── serial.go ├── syscall │ └── syscall.go ├── textmode.go ├── thread.go ├── userspace.go ├── userspace.s └── utils │ ├── pointer.go │ └── string.go └── usr ├── bomb └── main.go ├── cread └── main.c ├── echo └── main.go ├── env └── main.c ├── helloc └── main.c ├── hellocxx └── main.cpp ├── hellogo └── main.go ├── hellorust ├── Cargo.lock ├── Cargo.toml └── main.rs ├── poweroff └── main.c ├── readtest └── main.go ├── rustread ├── Cargo.lock ├── Cargo.toml └── main.rs ├── shell └── main.go ├── statx └── main.c ├── syscall-test └── main.c └── wastetime └── main.c /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | disk/ 3 | usr/*/target/ 4 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/LICENSE.md -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/README.md -------------------------------------------------------------------------------- /arch/x86/asm/gdt.inc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/arch/x86/asm/gdt.inc -------------------------------------------------------------------------------- /arch/x86/asm/multiboot_header.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/arch/x86/asm/multiboot_header.s -------------------------------------------------------------------------------- /arch/x86/asm/rt0.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/arch/x86/asm/rt0.s -------------------------------------------------------------------------------- /arch/x86/script/grub.cfg.tpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/arch/x86/script/grub.cfg.tpl -------------------------------------------------------------------------------- /arch/x86/script/linker.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/arch/x86/script/linker.ld -------------------------------------------------------------------------------- /disk/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/dup.sh -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/sanserogames/letsgo-os 2 | 3 | go 1.23 4 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /kernel/cpu.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/cpu.go -------------------------------------------------------------------------------- /kernel/cpu.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/cpu.s -------------------------------------------------------------------------------- /kernel/debug.go: -------------------------------------------------------------------------------- 1 | package kernel 2 | 3 | const ENABLE_DEBUG = false 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /kernel/domain.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/domain.go -------------------------------------------------------------------------------- /kernel/elfloader.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/elfloader.go -------------------------------------------------------------------------------- /kernel/harddisk.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/harddisk.go -------------------------------------------------------------------------------- /kernel/interrupts.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/interrupts.go -------------------------------------------------------------------------------- /kernel/interrupts.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/interrupts.s -------------------------------------------------------------------------------- /kernel/keyboard.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/keyboard.go -------------------------------------------------------------------------------- /kernel/keycodes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/keycodes.go -------------------------------------------------------------------------------- /kernel/log/print.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/log/print.go -------------------------------------------------------------------------------- /kernel/main/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/main/main.go -------------------------------------------------------------------------------- /kernel/main/main.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/main/main.s -------------------------------------------------------------------------------- /kernel/mm/memspace.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/mm/memspace.go -------------------------------------------------------------------------------- /kernel/mm/page.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/mm/page.go -------------------------------------------------------------------------------- /kernel/mm/pagetable.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/mm/pagetable.go -------------------------------------------------------------------------------- /kernel/multiboot.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/multiboot.go -------------------------------------------------------------------------------- /kernel/paging.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/paging.go -------------------------------------------------------------------------------- /kernel/paging.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/paging.s -------------------------------------------------------------------------------- /kernel/panic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/panic.go -------------------------------------------------------------------------------- /kernel/panic.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/panic.s -------------------------------------------------------------------------------- /kernel/panic/panic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/panic/panic.go -------------------------------------------------------------------------------- /kernel/pic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/pic.go -------------------------------------------------------------------------------- /kernel/pit.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/pit.go -------------------------------------------------------------------------------- /kernel/qemu.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/qemu.go -------------------------------------------------------------------------------- /kernel/ring.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/ring.go -------------------------------------------------------------------------------- /kernel/schedule.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/schedule.go -------------------------------------------------------------------------------- /kernel/schedule.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/schedule.s -------------------------------------------------------------------------------- /kernel/segments.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/segments.go -------------------------------------------------------------------------------- /kernel/segments.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/segments.s -------------------------------------------------------------------------------- /kernel/serial.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/serial.go -------------------------------------------------------------------------------- /kernel/syscall/syscall.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/syscall/syscall.go -------------------------------------------------------------------------------- /kernel/textmode.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/textmode.go -------------------------------------------------------------------------------- /kernel/thread.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/thread.go -------------------------------------------------------------------------------- /kernel/userspace.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/userspace.go -------------------------------------------------------------------------------- /kernel/userspace.s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/userspace.s -------------------------------------------------------------------------------- /kernel/utils/pointer.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/utils/pointer.go -------------------------------------------------------------------------------- /kernel/utils/string.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/kernel/utils/string.go -------------------------------------------------------------------------------- /usr/bomb/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/bomb/main.go -------------------------------------------------------------------------------- /usr/cread/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/cread/main.c -------------------------------------------------------------------------------- /usr/echo/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/echo/main.go -------------------------------------------------------------------------------- /usr/env/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/env/main.c -------------------------------------------------------------------------------- /usr/helloc/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/helloc/main.c -------------------------------------------------------------------------------- /usr/hellocxx/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/hellocxx/main.cpp -------------------------------------------------------------------------------- /usr/hellogo/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/hellogo/main.go -------------------------------------------------------------------------------- /usr/hellorust/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/hellorust/Cargo.lock -------------------------------------------------------------------------------- /usr/hellorust/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/hellorust/Cargo.toml -------------------------------------------------------------------------------- /usr/hellorust/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/hellorust/main.rs -------------------------------------------------------------------------------- /usr/poweroff/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/poweroff/main.c -------------------------------------------------------------------------------- /usr/readtest/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/readtest/main.go -------------------------------------------------------------------------------- /usr/rustread/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/rustread/Cargo.lock -------------------------------------------------------------------------------- /usr/rustread/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/rustread/Cargo.toml -------------------------------------------------------------------------------- /usr/rustread/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/rustread/main.rs -------------------------------------------------------------------------------- /usr/shell/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/shell/main.go -------------------------------------------------------------------------------- /usr/statx/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/statx/main.c -------------------------------------------------------------------------------- /usr/syscall-test/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/syscall-test/main.c -------------------------------------------------------------------------------- /usr/wastetime/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanseroGames/LetsGo-OS/HEAD/usr/wastetime/main.c --------------------------------------------------------------------------------