├── .gitignore ├── .travis.yml ├── CONTRIBUTORS ├── LICENSE ├── Makefile ├── README.md ├── config.mk.dist ├── copymodules.sh ├── include ├── api │ ├── api.h │ └── display.h ├── config.h ├── elf.h ├── kernel.h ├── kernel │ ├── core │ │ ├── ipl.h │ │ ├── memory.h │ │ ├── panic.h │ │ ├── scheduler.h │ │ ├── shutdown.h │ │ └── test_framework.h │ ├── hal.h │ ├── hal │ │ ├── exceptions.h │ │ ├── idt.h │ │ ├── irqs.h │ │ ├── isr.h │ │ ├── mm │ │ │ ├── frames.h │ │ │ ├── memory.h │ │ │ ├── nicer_allocator.h │ │ │ ├── paging.h │ │ │ └── placement_allocator.h │ │ ├── ports.h │ │ ├── scheduler.h │ │ ├── shutdown.h │ │ ├── syscall.h │ │ ├── task.h │ │ └── timer.h │ ├── init │ │ ├── elfloader.h │ │ ├── init.h │ │ ├── load_modules.h │ │ ├── memory_map.h │ │ └── modules.h │ └── tests.h ├── lib │ └── krnllib.h ├── macros.h ├── math.h ├── modifiers.h ├── multiboot.h ├── stdarg.h ├── stddef.h ├── stdint.h ├── stdlib.h ├── string.h ├── system.h ├── text.h └── userland.h ├── iso └── bochsrc ├── isofs └── boot │ └── grub │ ├── menu.lst │ └── stage2_eltorito ├── makeiso.sh ├── modules.mk ├── notes ├── kernel_ideas.txt ├── notes.org ├── notes.txt └── x86-64.md ├── src ├── kernel │ ├── boot │ │ ├── link.ld │ │ └── start.asm │ ├── core │ │ ├── ipl.c │ │ ├── memory.c │ │ ├── panic.c │ │ ├── scheduler.c │ │ ├── shutdown.c │ │ ├── stack_dump.asm │ │ ├── test_framework.c │ │ └── text.c │ ├── init │ │ ├── elfloader.c │ │ ├── init.c │ │ ├── load_modules.c │ │ ├── memory_map.c │ │ └── modules.c │ └── tests.c ├── lib │ ├── hal │ │ ├── exceptions.asm │ │ ├── gdt.asm │ │ ├── hal.c │ │ ├── idt.c │ │ ├── interrupts.c │ │ ├── irqs.c │ │ ├── isrs.c │ │ ├── mm │ │ │ ├── frames.c │ │ │ ├── memory.c │ │ │ ├── nicer_allocator.c │ │ │ ├── paging.c │ │ │ └── placement_allocator.c │ │ ├── ports.c │ │ ├── scheduler.c │ │ ├── shutdown.c │ │ ├── syscall.c │ │ ├── task.c │ │ └── timer.c │ ├── krnllib │ │ ├── krnllib.c │ │ └── text.c │ └── libc │ │ ├── math.c │ │ └── string.c └── modules │ ├── display │ └── main.c │ └── userland │ └── userland.c ├── terminal.mk ├── test.sh └── tools ├── bootinfo.c ├── buildinfo.sh └── todo.sh /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/.travis.yml -------------------------------------------------------------------------------- /CONTRIBUTORS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/CONTRIBUTORS -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/README.md -------------------------------------------------------------------------------- /config.mk.dist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/config.mk.dist -------------------------------------------------------------------------------- /copymodules.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/copymodules.sh -------------------------------------------------------------------------------- /include/api/api.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/api/api.h -------------------------------------------------------------------------------- /include/api/display.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/api/display.h -------------------------------------------------------------------------------- /include/config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/config.h -------------------------------------------------------------------------------- /include/elf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/elf.h -------------------------------------------------------------------------------- /include/kernel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel.h -------------------------------------------------------------------------------- /include/kernel/core/ipl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/core/ipl.h -------------------------------------------------------------------------------- /include/kernel/core/memory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/core/memory.h -------------------------------------------------------------------------------- /include/kernel/core/panic.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/core/panic.h -------------------------------------------------------------------------------- /include/kernel/core/scheduler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/core/scheduler.h -------------------------------------------------------------------------------- /include/kernel/core/shutdown.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/core/shutdown.h -------------------------------------------------------------------------------- /include/kernel/core/test_framework.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/core/test_framework.h -------------------------------------------------------------------------------- /include/kernel/hal.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal.h -------------------------------------------------------------------------------- /include/kernel/hal/exceptions.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal/exceptions.h -------------------------------------------------------------------------------- /include/kernel/hal/idt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal/idt.h -------------------------------------------------------------------------------- /include/kernel/hal/irqs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal/irqs.h -------------------------------------------------------------------------------- /include/kernel/hal/isr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal/isr.h -------------------------------------------------------------------------------- /include/kernel/hal/mm/frames.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal/mm/frames.h -------------------------------------------------------------------------------- /include/kernel/hal/mm/memory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal/mm/memory.h -------------------------------------------------------------------------------- /include/kernel/hal/mm/nicer_allocator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal/mm/nicer_allocator.h -------------------------------------------------------------------------------- /include/kernel/hal/mm/paging.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal/mm/paging.h -------------------------------------------------------------------------------- /include/kernel/hal/mm/placement_allocator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal/mm/placement_allocator.h -------------------------------------------------------------------------------- /include/kernel/hal/ports.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal/ports.h -------------------------------------------------------------------------------- /include/kernel/hal/scheduler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal/scheduler.h -------------------------------------------------------------------------------- /include/kernel/hal/shutdown.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal/shutdown.h -------------------------------------------------------------------------------- /include/kernel/hal/syscall.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal/syscall.h -------------------------------------------------------------------------------- /include/kernel/hal/task.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal/task.h -------------------------------------------------------------------------------- /include/kernel/hal/timer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/hal/timer.h -------------------------------------------------------------------------------- /include/kernel/init/elfloader.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/init/elfloader.h -------------------------------------------------------------------------------- /include/kernel/init/init.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/init/init.h -------------------------------------------------------------------------------- /include/kernel/init/load_modules.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/init/load_modules.h -------------------------------------------------------------------------------- /include/kernel/init/memory_map.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/init/memory_map.h -------------------------------------------------------------------------------- /include/kernel/init/modules.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/init/modules.h -------------------------------------------------------------------------------- /include/kernel/tests.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/kernel/tests.h -------------------------------------------------------------------------------- /include/lib/krnllib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/lib/krnllib.h -------------------------------------------------------------------------------- /include/macros.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/macros.h -------------------------------------------------------------------------------- /include/math.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/math.h -------------------------------------------------------------------------------- /include/modifiers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/modifiers.h -------------------------------------------------------------------------------- /include/multiboot.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/multiboot.h -------------------------------------------------------------------------------- /include/stdarg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/stdarg.h -------------------------------------------------------------------------------- /include/stddef.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/stddef.h -------------------------------------------------------------------------------- /include/stdint.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/stdint.h -------------------------------------------------------------------------------- /include/stdlib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/stdlib.h -------------------------------------------------------------------------------- /include/string.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/string.h -------------------------------------------------------------------------------- /include/system.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/system.h -------------------------------------------------------------------------------- /include/text.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/text.h -------------------------------------------------------------------------------- /include/userland.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/include/userland.h -------------------------------------------------------------------------------- /iso/bochsrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/iso/bochsrc -------------------------------------------------------------------------------- /isofs/boot/grub/menu.lst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/isofs/boot/grub/menu.lst -------------------------------------------------------------------------------- /isofs/boot/grub/stage2_eltorito: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/isofs/boot/grub/stage2_eltorito -------------------------------------------------------------------------------- /makeiso.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/makeiso.sh -------------------------------------------------------------------------------- /modules.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/modules.mk -------------------------------------------------------------------------------- /notes/kernel_ideas.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/notes/kernel_ideas.txt -------------------------------------------------------------------------------- /notes/notes.org: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/notes/notes.org -------------------------------------------------------------------------------- /notes/notes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/notes/notes.txt -------------------------------------------------------------------------------- /notes/x86-64.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/notes/x86-64.md -------------------------------------------------------------------------------- /src/kernel/boot/link.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/boot/link.ld -------------------------------------------------------------------------------- /src/kernel/boot/start.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/boot/start.asm -------------------------------------------------------------------------------- /src/kernel/core/ipl.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/core/ipl.c -------------------------------------------------------------------------------- /src/kernel/core/memory.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/core/memory.c -------------------------------------------------------------------------------- /src/kernel/core/panic.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/core/panic.c -------------------------------------------------------------------------------- /src/kernel/core/scheduler.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/core/scheduler.c -------------------------------------------------------------------------------- /src/kernel/core/shutdown.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/core/shutdown.c -------------------------------------------------------------------------------- /src/kernel/core/stack_dump.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/core/stack_dump.asm -------------------------------------------------------------------------------- /src/kernel/core/test_framework.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/core/test_framework.c -------------------------------------------------------------------------------- /src/kernel/core/text.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/core/text.c -------------------------------------------------------------------------------- /src/kernel/init/elfloader.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/init/elfloader.c -------------------------------------------------------------------------------- /src/kernel/init/init.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/init/init.c -------------------------------------------------------------------------------- /src/kernel/init/load_modules.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/init/load_modules.c -------------------------------------------------------------------------------- /src/kernel/init/memory_map.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/init/memory_map.c -------------------------------------------------------------------------------- /src/kernel/init/modules.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/init/modules.c -------------------------------------------------------------------------------- /src/kernel/tests.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/kernel/tests.c -------------------------------------------------------------------------------- /src/lib/hal/exceptions.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/exceptions.asm -------------------------------------------------------------------------------- /src/lib/hal/gdt.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/gdt.asm -------------------------------------------------------------------------------- /src/lib/hal/hal.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/hal.c -------------------------------------------------------------------------------- /src/lib/hal/idt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/idt.c -------------------------------------------------------------------------------- /src/lib/hal/interrupts.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/interrupts.c -------------------------------------------------------------------------------- /src/lib/hal/irqs.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/irqs.c -------------------------------------------------------------------------------- /src/lib/hal/isrs.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/isrs.c -------------------------------------------------------------------------------- /src/lib/hal/mm/frames.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/mm/frames.c -------------------------------------------------------------------------------- /src/lib/hal/mm/memory.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/mm/memory.c -------------------------------------------------------------------------------- /src/lib/hal/mm/nicer_allocator.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/mm/nicer_allocator.c -------------------------------------------------------------------------------- /src/lib/hal/mm/paging.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/mm/paging.c -------------------------------------------------------------------------------- /src/lib/hal/mm/placement_allocator.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/mm/placement_allocator.c -------------------------------------------------------------------------------- /src/lib/hal/ports.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/ports.c -------------------------------------------------------------------------------- /src/lib/hal/scheduler.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/scheduler.c -------------------------------------------------------------------------------- /src/lib/hal/shutdown.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/shutdown.c -------------------------------------------------------------------------------- /src/lib/hal/syscall.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/syscall.c -------------------------------------------------------------------------------- /src/lib/hal/task.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/task.c -------------------------------------------------------------------------------- /src/lib/hal/timer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/hal/timer.c -------------------------------------------------------------------------------- /src/lib/krnllib/krnllib.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/krnllib/krnllib.c -------------------------------------------------------------------------------- /src/lib/krnllib/text.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/krnllib/text.c -------------------------------------------------------------------------------- /src/lib/libc/math.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/libc/math.c -------------------------------------------------------------------------------- /src/lib/libc/string.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/lib/libc/string.c -------------------------------------------------------------------------------- /src/modules/display/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/modules/display/main.c -------------------------------------------------------------------------------- /src/modules/userland/userland.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/src/modules/userland/userland.c -------------------------------------------------------------------------------- /terminal.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/terminal.mk -------------------------------------------------------------------------------- /test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/test.sh -------------------------------------------------------------------------------- /tools/bootinfo.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/tools/bootinfo.c -------------------------------------------------------------------------------- /tools/buildinfo.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duckinator/dux/HEAD/tools/buildinfo.sh -------------------------------------------------------------------------------- /tools/todo.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | DIR=$(dirname $(readlink -f $0)) 4 | cd $DIR/.. 5 | grep -EHnir 'TODO:|FIXME:' src include 6 | --------------------------------------------------------------------------------