├── .clang-format ├── .gitignore ├── README.md ├── _img ├── bootloader-1.png └── kernel-1.png ├── bootloader ├── .gitignore ├── Makefile ├── acpi.c ├── acpi.h ├── bin │ ├── main.efi │ └── main.so ├── bootloader.h ├── file.c ├── file.h ├── font.c ├── font.h ├── gop.c ├── gop.h ├── kernel_loader.c ├── kernel_loader.h ├── kernel_starter.c ├── kernel_starter.h ├── main.c ├── startup.nsh ├── utils.c └── utils.h ├── init.sh ├── kernel ├── .gitignore ├── Makefile ├── fonts │ └── zap-light16.psf ├── kernel.ld └── src │ ├── acpi │ ├── acpi.cpp │ ├── acpi.hpp │ ├── apic │ │ ├── ioapic.cpp │ │ ├── ioapic.hpp │ │ ├── lapic.cpp │ │ ├── lapic.hpp │ │ ├── madt.cpp │ │ └── madt.hpp │ └── hpet │ │ ├── comparator.cpp │ │ ├── comparator.hpp │ │ ├── hpet.cpp │ │ └── hpet.hpp │ ├── console │ ├── console.cpp │ └── console.hpp │ ├── cpu │ ├── cpu.asm │ ├── cpu.cpp │ ├── cpu.hpp │ └── mmio.h │ ├── debug │ ├── print.cpp │ └── print.hpp │ ├── drivers │ ├── keyboard.cpp │ ├── keyboard.hpp │ ├── ps2.cpp │ └── ps2.hpp │ ├── framebuffer │ ├── colors.hpp │ ├── framebuffer.cpp │ └── framebuffer.hpp │ ├── gdt │ ├── gdt.asm │ ├── gdt.cpp │ └── gdt.hpp │ ├── idt │ ├── idt.cpp │ ├── idt.hpp │ ├── interrupts.cpp │ └── interrupts.hpp │ ├── kernel.cpp │ ├── kernel.hpp │ ├── klog │ ├── klog.cpp │ └── klog.hpp │ ├── kutils │ ├── assertions.cpp │ ├── assertions.hpp │ ├── bitmap.cpp │ ├── bitmap.hpp │ ├── bits.hpp │ ├── console.cpp │ └── console.hpp │ ├── libc │ ├── cmath.cpp │ ├── cmath.hpp │ ├── stdarg.hpp │ ├── stdint.hpp │ ├── stdlib.cpp │ └── stdlib.hpp │ ├── memory │ ├── heap.cpp │ ├── heap.hpp │ ├── mmap.cpp │ ├── mmap.hpp │ ├── paging.asm │ ├── paging.cpp │ ├── paging.hpp │ ├── pmem.cpp │ └── pmem.hpp │ └── pic │ ├── pic.asm │ ├── pic.cpp │ └── pic.hpp ├── ovmf ├── OVMF_CODE.fd └── OVMF_VARS.fd ├── recompile.sh └── run.sh /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/.clang-format -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode/ 2 | 3 | os-image.hdd -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/README.md -------------------------------------------------------------------------------- /_img/bootloader-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/_img/bootloader-1.png -------------------------------------------------------------------------------- /_img/kernel-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/_img/kernel-1.png -------------------------------------------------------------------------------- /bootloader/.gitignore: -------------------------------------------------------------------------------- 1 | objs/ 2 | result/ 3 | gnuefi/ -------------------------------------------------------------------------------- /bootloader/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/Makefile -------------------------------------------------------------------------------- /bootloader/acpi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/acpi.c -------------------------------------------------------------------------------- /bootloader/acpi.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/acpi.h -------------------------------------------------------------------------------- /bootloader/bin/main.efi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/bin/main.efi -------------------------------------------------------------------------------- /bootloader/bin/main.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/bin/main.so -------------------------------------------------------------------------------- /bootloader/bootloader.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/bootloader.h -------------------------------------------------------------------------------- /bootloader/file.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/file.c -------------------------------------------------------------------------------- /bootloader/file.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/file.h -------------------------------------------------------------------------------- /bootloader/font.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/font.c -------------------------------------------------------------------------------- /bootloader/font.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/font.h -------------------------------------------------------------------------------- /bootloader/gop.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/gop.c -------------------------------------------------------------------------------- /bootloader/gop.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/gop.h -------------------------------------------------------------------------------- /bootloader/kernel_loader.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/kernel_loader.c -------------------------------------------------------------------------------- /bootloader/kernel_loader.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/kernel_loader.h -------------------------------------------------------------------------------- /bootloader/kernel_starter.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/kernel_starter.c -------------------------------------------------------------------------------- /bootloader/kernel_starter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/kernel_starter.h -------------------------------------------------------------------------------- /bootloader/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/main.c -------------------------------------------------------------------------------- /bootloader/startup.nsh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/startup.nsh -------------------------------------------------------------------------------- /bootloader/utils.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/utils.c -------------------------------------------------------------------------------- /bootloader/utils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/bootloader/utils.h -------------------------------------------------------------------------------- /init.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/init.sh -------------------------------------------------------------------------------- /kernel/.gitignore: -------------------------------------------------------------------------------- 1 | bin 2 | lib 3 | .vscode -------------------------------------------------------------------------------- /kernel/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/Makefile -------------------------------------------------------------------------------- /kernel/fonts/zap-light16.psf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/fonts/zap-light16.psf -------------------------------------------------------------------------------- /kernel/kernel.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/kernel.ld -------------------------------------------------------------------------------- /kernel/src/acpi/acpi.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/acpi/acpi.cpp -------------------------------------------------------------------------------- /kernel/src/acpi/acpi.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/acpi/acpi.hpp -------------------------------------------------------------------------------- /kernel/src/acpi/apic/ioapic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/acpi/apic/ioapic.cpp -------------------------------------------------------------------------------- /kernel/src/acpi/apic/ioapic.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/acpi/apic/ioapic.hpp -------------------------------------------------------------------------------- /kernel/src/acpi/apic/lapic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/acpi/apic/lapic.cpp -------------------------------------------------------------------------------- /kernel/src/acpi/apic/lapic.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/acpi/apic/lapic.hpp -------------------------------------------------------------------------------- /kernel/src/acpi/apic/madt.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/acpi/apic/madt.cpp -------------------------------------------------------------------------------- /kernel/src/acpi/apic/madt.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/acpi/apic/madt.hpp -------------------------------------------------------------------------------- /kernel/src/acpi/hpet/comparator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/acpi/hpet/comparator.cpp -------------------------------------------------------------------------------- /kernel/src/acpi/hpet/comparator.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/acpi/hpet/comparator.hpp -------------------------------------------------------------------------------- /kernel/src/acpi/hpet/hpet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/acpi/hpet/hpet.cpp -------------------------------------------------------------------------------- /kernel/src/acpi/hpet/hpet.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/acpi/hpet/hpet.hpp -------------------------------------------------------------------------------- /kernel/src/console/console.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/console/console.cpp -------------------------------------------------------------------------------- /kernel/src/console/console.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/console/console.hpp -------------------------------------------------------------------------------- /kernel/src/cpu/cpu.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/cpu/cpu.asm -------------------------------------------------------------------------------- /kernel/src/cpu/cpu.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/cpu/cpu.cpp -------------------------------------------------------------------------------- /kernel/src/cpu/cpu.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/cpu/cpu.hpp -------------------------------------------------------------------------------- /kernel/src/cpu/mmio.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/cpu/mmio.h -------------------------------------------------------------------------------- /kernel/src/debug/print.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/debug/print.cpp -------------------------------------------------------------------------------- /kernel/src/debug/print.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/debug/print.hpp -------------------------------------------------------------------------------- /kernel/src/drivers/keyboard.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/drivers/keyboard.cpp -------------------------------------------------------------------------------- /kernel/src/drivers/keyboard.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/drivers/keyboard.hpp -------------------------------------------------------------------------------- /kernel/src/drivers/ps2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/drivers/ps2.cpp -------------------------------------------------------------------------------- /kernel/src/drivers/ps2.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/drivers/ps2.hpp -------------------------------------------------------------------------------- /kernel/src/framebuffer/colors.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/framebuffer/colors.hpp -------------------------------------------------------------------------------- /kernel/src/framebuffer/framebuffer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/framebuffer/framebuffer.cpp -------------------------------------------------------------------------------- /kernel/src/framebuffer/framebuffer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/framebuffer/framebuffer.hpp -------------------------------------------------------------------------------- /kernel/src/gdt/gdt.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/gdt/gdt.asm -------------------------------------------------------------------------------- /kernel/src/gdt/gdt.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/gdt/gdt.cpp -------------------------------------------------------------------------------- /kernel/src/gdt/gdt.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/gdt/gdt.hpp -------------------------------------------------------------------------------- /kernel/src/idt/idt.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/idt/idt.cpp -------------------------------------------------------------------------------- /kernel/src/idt/idt.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/idt/idt.hpp -------------------------------------------------------------------------------- /kernel/src/idt/interrupts.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/idt/interrupts.cpp -------------------------------------------------------------------------------- /kernel/src/idt/interrupts.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/idt/interrupts.hpp -------------------------------------------------------------------------------- /kernel/src/kernel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/kernel.cpp -------------------------------------------------------------------------------- /kernel/src/kernel.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/kernel.hpp -------------------------------------------------------------------------------- /kernel/src/klog/klog.cpp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /kernel/src/klog/klog.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/klog/klog.hpp -------------------------------------------------------------------------------- /kernel/src/kutils/assertions.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/kutils/assertions.cpp -------------------------------------------------------------------------------- /kernel/src/kutils/assertions.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/kutils/assertions.hpp -------------------------------------------------------------------------------- /kernel/src/kutils/bitmap.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/kutils/bitmap.cpp -------------------------------------------------------------------------------- /kernel/src/kutils/bitmap.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/kutils/bitmap.hpp -------------------------------------------------------------------------------- /kernel/src/kutils/bits.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/kutils/bits.hpp -------------------------------------------------------------------------------- /kernel/src/kutils/console.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/kutils/console.cpp -------------------------------------------------------------------------------- /kernel/src/kutils/console.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/kutils/console.hpp -------------------------------------------------------------------------------- /kernel/src/libc/cmath.cpp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /kernel/src/libc/cmath.hpp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /kernel/src/libc/stdarg.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/libc/stdarg.hpp -------------------------------------------------------------------------------- /kernel/src/libc/stdint.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/libc/stdint.hpp -------------------------------------------------------------------------------- /kernel/src/libc/stdlib.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/libc/stdlib.cpp -------------------------------------------------------------------------------- /kernel/src/libc/stdlib.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/libc/stdlib.hpp -------------------------------------------------------------------------------- /kernel/src/memory/heap.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/memory/heap.cpp -------------------------------------------------------------------------------- /kernel/src/memory/heap.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/memory/heap.hpp -------------------------------------------------------------------------------- /kernel/src/memory/mmap.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/memory/mmap.cpp -------------------------------------------------------------------------------- /kernel/src/memory/mmap.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/memory/mmap.hpp -------------------------------------------------------------------------------- /kernel/src/memory/paging.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/memory/paging.asm -------------------------------------------------------------------------------- /kernel/src/memory/paging.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/memory/paging.cpp -------------------------------------------------------------------------------- /kernel/src/memory/paging.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/memory/paging.hpp -------------------------------------------------------------------------------- /kernel/src/memory/pmem.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/memory/pmem.cpp -------------------------------------------------------------------------------- /kernel/src/memory/pmem.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/memory/pmem.hpp -------------------------------------------------------------------------------- /kernel/src/pic/pic.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/pic/pic.asm -------------------------------------------------------------------------------- /kernel/src/pic/pic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/pic/pic.cpp -------------------------------------------------------------------------------- /kernel/src/pic/pic.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/kernel/src/pic/pic.hpp -------------------------------------------------------------------------------- /ovmf/OVMF_CODE.fd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/ovmf/OVMF_CODE.fd -------------------------------------------------------------------------------- /ovmf/OVMF_VARS.fd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/ovmf/OVMF_VARS.fd -------------------------------------------------------------------------------- /recompile.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/recompile.sh -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Print3M/printOS/HEAD/run.sh --------------------------------------------------------------------------------