├── README.md ├── include └── kernel │ ├── boot │ ├── modules │ │ └── moduleManager.h │ └── multibootManager.h │ ├── common │ ├── binarySearchTree.h │ ├── doublyLinkedList.h │ ├── hashmap.h │ ├── pair.h │ ├── priorityQueue.h │ ├── safeDoublyLinkedList.h │ └── utilities.h │ ├── cpu │ ├── gdt.h │ ├── interrupts │ │ ├── interrupts.h │ │ └── pic.h │ ├── io │ │ ├── io.h │ │ ├── pci.h │ │ └── pit.h │ └── tss.h │ ├── drivers │ ├── hid │ │ └── keyboard.h │ ├── initrd │ │ └── tarinitrd.h │ └── network │ │ └── networkdriver.h │ ├── event │ ├── dispatcher.h │ └── sender.h │ ├── fs │ └── vfs.h │ ├── guard-abi.h │ ├── libc │ └── string.h │ ├── loader │ └── elf.h │ ├── memory │ ├── AddressSpace.h │ ├── MemoryManager.h │ ├── address.h │ ├── kheap.h │ └── memory.h │ ├── network │ ├── arp.h │ ├── ethernet.h │ ├── icmp.h │ ├── ipv4.h │ ├── tcp.h │ └── udp.h │ ├── process │ ├── masterScheduler.h │ ├── mutex.h │ ├── scheduler.h │ ├── spinlock.h │ ├── syscall.h │ ├── syscallHandler.h │ ├── task.h │ └── taskManager.h │ └── x86_64 │ └── x86_64.h ├── src ├── kernel │ ├── boot │ │ └── modules │ │ │ ├── moduleManager.cpp │ │ │ └── multibootManager.cpp │ ├── cpu │ │ ├── gdt.cpp │ │ ├── interrupts │ │ │ ├── interrupts.cpp │ │ │ └── pic.cpp │ │ ├── io │ │ │ ├── pci.cpp │ │ │ └── pit.cpp │ │ └── tss.cpp │ ├── drivers │ │ ├── hid │ │ │ └── keyboard.cpp │ │ ├── initrd │ │ │ └── tarinitrd.cpp │ │ └── network │ │ │ ├── amdpcnetiii.cpp │ │ │ └── networkdriver.cpp │ ├── event │ │ └── dispatcher.cpp │ ├── fs │ │ └── vfs.cpp │ ├── guard-abi.cpp │ ├── kernel.cpp │ ├── loader │ │ └── elf.cpp │ ├── memory │ │ ├── AddressSpace.cpp │ │ ├── MemoryManager.cpp │ │ ├── kheap.cpp │ │ └── memory.cpp │ ├── network │ │ ├── arp.cpp │ │ ├── ethernet.cpp │ │ ├── icmp.cpp │ │ ├── ipv4.cpp │ │ ├── tcp.cpp │ │ └── udp.cpp │ └── process │ │ ├── masterScheduler.cpp │ │ ├── mutex.cpp │ │ ├── spinlock.cpp │ │ ├── syscallHandler.cpp │ │ └── taskManager.cpp └── x86_64 │ ├── boot │ ├── header.asm │ ├── main.asm │ └── main64.asm │ ├── interrupts │ └── interrupts.asm │ ├── task │ └── task.asm │ └── userspace │ └── userspace.asm └── toolchain └── GNUToolchain.cmake /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/README.md -------------------------------------------------------------------------------- /include/kernel/boot/modules/moduleManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/boot/modules/moduleManager.h -------------------------------------------------------------------------------- /include/kernel/boot/multibootManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/boot/multibootManager.h -------------------------------------------------------------------------------- /include/kernel/common/binarySearchTree.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/common/binarySearchTree.h -------------------------------------------------------------------------------- /include/kernel/common/doublyLinkedList.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/common/doublyLinkedList.h -------------------------------------------------------------------------------- /include/kernel/common/hashmap.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/common/hashmap.h -------------------------------------------------------------------------------- /include/kernel/common/pair.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/common/pair.h -------------------------------------------------------------------------------- /include/kernel/common/priorityQueue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/common/priorityQueue.h -------------------------------------------------------------------------------- /include/kernel/common/safeDoublyLinkedList.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/common/safeDoublyLinkedList.h -------------------------------------------------------------------------------- /include/kernel/common/utilities.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/common/utilities.h -------------------------------------------------------------------------------- /include/kernel/cpu/gdt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/cpu/gdt.h -------------------------------------------------------------------------------- /include/kernel/cpu/interrupts/interrupts.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/cpu/interrupts/interrupts.h -------------------------------------------------------------------------------- /include/kernel/cpu/interrupts/pic.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/cpu/interrupts/pic.h -------------------------------------------------------------------------------- /include/kernel/cpu/io/io.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/cpu/io/io.h -------------------------------------------------------------------------------- /include/kernel/cpu/io/pci.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/cpu/io/pci.h -------------------------------------------------------------------------------- /include/kernel/cpu/io/pit.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/cpu/io/pit.h -------------------------------------------------------------------------------- /include/kernel/cpu/tss.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/cpu/tss.h -------------------------------------------------------------------------------- /include/kernel/drivers/hid/keyboard.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/drivers/hid/keyboard.h -------------------------------------------------------------------------------- /include/kernel/drivers/initrd/tarinitrd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/drivers/initrd/tarinitrd.h -------------------------------------------------------------------------------- /include/kernel/drivers/network/networkdriver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/drivers/network/networkdriver.h -------------------------------------------------------------------------------- /include/kernel/event/dispatcher.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/event/dispatcher.h -------------------------------------------------------------------------------- /include/kernel/event/sender.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/event/sender.h -------------------------------------------------------------------------------- /include/kernel/fs/vfs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/fs/vfs.h -------------------------------------------------------------------------------- /include/kernel/guard-abi.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/guard-abi.h -------------------------------------------------------------------------------- /include/kernel/libc/string.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/libc/string.h -------------------------------------------------------------------------------- /include/kernel/loader/elf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/loader/elf.h -------------------------------------------------------------------------------- /include/kernel/memory/AddressSpace.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/memory/AddressSpace.h -------------------------------------------------------------------------------- /include/kernel/memory/MemoryManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/memory/MemoryManager.h -------------------------------------------------------------------------------- /include/kernel/memory/address.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/memory/address.h -------------------------------------------------------------------------------- /include/kernel/memory/kheap.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/memory/kheap.h -------------------------------------------------------------------------------- /include/kernel/memory/memory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/memory/memory.h -------------------------------------------------------------------------------- /include/kernel/network/arp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/network/arp.h -------------------------------------------------------------------------------- /include/kernel/network/ethernet.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/network/ethernet.h -------------------------------------------------------------------------------- /include/kernel/network/icmp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/network/icmp.h -------------------------------------------------------------------------------- /include/kernel/network/ipv4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/network/ipv4.h -------------------------------------------------------------------------------- /include/kernel/network/tcp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/network/tcp.h -------------------------------------------------------------------------------- /include/kernel/network/udp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/network/udp.h -------------------------------------------------------------------------------- /include/kernel/process/masterScheduler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/process/masterScheduler.h -------------------------------------------------------------------------------- /include/kernel/process/mutex.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/process/mutex.h -------------------------------------------------------------------------------- /include/kernel/process/scheduler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/process/scheduler.h -------------------------------------------------------------------------------- /include/kernel/process/spinlock.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/process/spinlock.h -------------------------------------------------------------------------------- /include/kernel/process/syscall.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/process/syscall.h -------------------------------------------------------------------------------- /include/kernel/process/syscallHandler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/process/syscallHandler.h -------------------------------------------------------------------------------- /include/kernel/process/task.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/process/task.h -------------------------------------------------------------------------------- /include/kernel/process/taskManager.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/process/taskManager.h -------------------------------------------------------------------------------- /include/kernel/x86_64/x86_64.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/include/kernel/x86_64/x86_64.h -------------------------------------------------------------------------------- /src/kernel/boot/modules/moduleManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/boot/modules/moduleManager.cpp -------------------------------------------------------------------------------- /src/kernel/boot/modules/multibootManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/boot/modules/multibootManager.cpp -------------------------------------------------------------------------------- /src/kernel/cpu/gdt.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/cpu/gdt.cpp -------------------------------------------------------------------------------- /src/kernel/cpu/interrupts/interrupts.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/cpu/interrupts/interrupts.cpp -------------------------------------------------------------------------------- /src/kernel/cpu/interrupts/pic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/cpu/interrupts/pic.cpp -------------------------------------------------------------------------------- /src/kernel/cpu/io/pci.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/cpu/io/pci.cpp -------------------------------------------------------------------------------- /src/kernel/cpu/io/pit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/cpu/io/pit.cpp -------------------------------------------------------------------------------- /src/kernel/cpu/tss.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/cpu/tss.cpp -------------------------------------------------------------------------------- /src/kernel/drivers/hid/keyboard.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/drivers/hid/keyboard.cpp -------------------------------------------------------------------------------- /src/kernel/drivers/initrd/tarinitrd.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/drivers/initrd/tarinitrd.cpp -------------------------------------------------------------------------------- /src/kernel/drivers/network/amdpcnetiii.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/drivers/network/amdpcnetiii.cpp -------------------------------------------------------------------------------- /src/kernel/drivers/network/networkdriver.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/drivers/network/networkdriver.cpp -------------------------------------------------------------------------------- /src/kernel/event/dispatcher.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/event/dispatcher.cpp -------------------------------------------------------------------------------- /src/kernel/fs/vfs.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/fs/vfs.cpp -------------------------------------------------------------------------------- /src/kernel/guard-abi.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/guard-abi.cpp -------------------------------------------------------------------------------- /src/kernel/kernel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/kernel.cpp -------------------------------------------------------------------------------- /src/kernel/loader/elf.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/loader/elf.cpp -------------------------------------------------------------------------------- /src/kernel/memory/AddressSpace.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/memory/AddressSpace.cpp -------------------------------------------------------------------------------- /src/kernel/memory/MemoryManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/memory/MemoryManager.cpp -------------------------------------------------------------------------------- /src/kernel/memory/kheap.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/memory/kheap.cpp -------------------------------------------------------------------------------- /src/kernel/memory/memory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/memory/memory.cpp -------------------------------------------------------------------------------- /src/kernel/network/arp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/network/arp.cpp -------------------------------------------------------------------------------- /src/kernel/network/ethernet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/network/ethernet.cpp -------------------------------------------------------------------------------- /src/kernel/network/icmp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/network/icmp.cpp -------------------------------------------------------------------------------- /src/kernel/network/ipv4.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/network/ipv4.cpp -------------------------------------------------------------------------------- /src/kernel/network/tcp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/network/tcp.cpp -------------------------------------------------------------------------------- /src/kernel/network/udp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/network/udp.cpp -------------------------------------------------------------------------------- /src/kernel/process/masterScheduler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/process/masterScheduler.cpp -------------------------------------------------------------------------------- /src/kernel/process/mutex.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/process/mutex.cpp -------------------------------------------------------------------------------- /src/kernel/process/spinlock.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/process/spinlock.cpp -------------------------------------------------------------------------------- /src/kernel/process/syscallHandler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/process/syscallHandler.cpp -------------------------------------------------------------------------------- /src/kernel/process/taskManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/kernel/process/taskManager.cpp -------------------------------------------------------------------------------- /src/x86_64/boot/header.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/x86_64/boot/header.asm -------------------------------------------------------------------------------- /src/x86_64/boot/main.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/x86_64/boot/main.asm -------------------------------------------------------------------------------- /src/x86_64/boot/main64.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/x86_64/boot/main64.asm -------------------------------------------------------------------------------- /src/x86_64/interrupts/interrupts.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/x86_64/interrupts/interrupts.asm -------------------------------------------------------------------------------- /src/x86_64/task/task.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/x86_64/task/task.asm -------------------------------------------------------------------------------- /src/x86_64/userspace/userspace.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/src/x86_64/userspace/userspace.asm -------------------------------------------------------------------------------- /toolchain/GNUToolchain.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zaahiral/os/HEAD/toolchain/GNUToolchain.cmake --------------------------------------------------------------------------------