├── .gdbinit ├── .gitignore ├── LICENSE ├── README.md ├── SConstruct ├── kernel ├── SConscript ├── boot.asm ├── cpu │ ├── gdt.c │ ├── idt.c │ ├── interrupt.c │ └── isr.asm ├── devices │ └── timer.c ├── include │ ├── drivers.h │ ├── elf.h │ ├── gcc.h │ ├── gdt.h │ ├── idt.h │ ├── interrupt.h │ ├── ipc.h │ ├── isr.h │ ├── layout.h │ ├── list.h │ ├── multiboot.h │ ├── pmem.h │ ├── process.h │ ├── scheduler.h │ ├── string.h │ ├── syscall.h │ ├── term.h │ ├── thread.h │ ├── timer.h │ ├── vmem.h │ └── x86.h ├── lib │ └── string.c ├── link.ld ├── main.c ├── memory │ ├── pmem.c │ └── vmem.c ├── system │ ├── drivers.c │ ├── ipc.c │ └── syscall.c ├── task │ ├── elf.c │ ├── process.c │ ├── scheduler.c │ └── thread.c ├── video │ └── term.c └── x86.asm ├── qemu.sh ├── servers ├── SConscript ├── keyboard │ ├── SConscript │ ├── keyboard.c │ └── keyboard.h ├── test │ ├── SConscript │ └── main.c └── video │ ├── SConscript │ ├── video.c │ └── video.h └── toolchain ├── build.sh ├── newlib-utopia ├── Makefile.am ├── _exit.c ├── close.c ├── configure.in ├── crt0.S ├── environ.c ├── execve.c ├── fork.c ├── fstat.c ├── getpid.c ├── include │ ├── _syscall.h │ └── utopia.h ├── isatty.c ├── kill.c ├── link.c ├── lseek.c ├── memory_map.c ├── open.c ├── read.c ├── sbrk.c ├── stat.c ├── times.c ├── unlink.c ├── wait.c └── write.c └── patches ├── binutils-2.24.patch ├── gcc-4.9.0.patch └── newlib-2.1.0.patch /.gdbinit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/.gdbinit -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.elf 2 | *.o 3 | *.a 4 | .sconsign.dblite 5 | toolchain/packages 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/README.md -------------------------------------------------------------------------------- /SConstruct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/SConstruct -------------------------------------------------------------------------------- /kernel/SConscript: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/SConscript -------------------------------------------------------------------------------- /kernel/boot.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/boot.asm -------------------------------------------------------------------------------- /kernel/cpu/gdt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/cpu/gdt.c -------------------------------------------------------------------------------- /kernel/cpu/idt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/cpu/idt.c -------------------------------------------------------------------------------- /kernel/cpu/interrupt.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/cpu/interrupt.c -------------------------------------------------------------------------------- /kernel/cpu/isr.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/cpu/isr.asm -------------------------------------------------------------------------------- /kernel/devices/timer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/devices/timer.c -------------------------------------------------------------------------------- /kernel/include/drivers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/drivers.h -------------------------------------------------------------------------------- /kernel/include/elf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/elf.h -------------------------------------------------------------------------------- /kernel/include/gcc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/gcc.h -------------------------------------------------------------------------------- /kernel/include/gdt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/gdt.h -------------------------------------------------------------------------------- /kernel/include/idt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/idt.h -------------------------------------------------------------------------------- /kernel/include/interrupt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/interrupt.h -------------------------------------------------------------------------------- /kernel/include/ipc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/ipc.h -------------------------------------------------------------------------------- /kernel/include/isr.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/isr.h -------------------------------------------------------------------------------- /kernel/include/layout.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/layout.h -------------------------------------------------------------------------------- /kernel/include/list.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/list.h -------------------------------------------------------------------------------- /kernel/include/multiboot.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/multiboot.h -------------------------------------------------------------------------------- /kernel/include/pmem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/pmem.h -------------------------------------------------------------------------------- /kernel/include/process.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/process.h -------------------------------------------------------------------------------- /kernel/include/scheduler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/scheduler.h -------------------------------------------------------------------------------- /kernel/include/string.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/string.h -------------------------------------------------------------------------------- /kernel/include/syscall.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | void syscall_init(void); 4 | -------------------------------------------------------------------------------- /kernel/include/term.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/term.h -------------------------------------------------------------------------------- /kernel/include/thread.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/thread.h -------------------------------------------------------------------------------- /kernel/include/timer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | 4 | void timer_init(uint32_t hz); 5 | -------------------------------------------------------------------------------- /kernel/include/vmem.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/vmem.h -------------------------------------------------------------------------------- /kernel/include/x86.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/include/x86.h -------------------------------------------------------------------------------- /kernel/lib/string.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/lib/string.c -------------------------------------------------------------------------------- /kernel/link.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/link.ld -------------------------------------------------------------------------------- /kernel/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/main.c -------------------------------------------------------------------------------- /kernel/memory/pmem.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/memory/pmem.c -------------------------------------------------------------------------------- /kernel/memory/vmem.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/memory/vmem.c -------------------------------------------------------------------------------- /kernel/system/drivers.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/system/drivers.c -------------------------------------------------------------------------------- /kernel/system/ipc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/system/ipc.c -------------------------------------------------------------------------------- /kernel/system/syscall.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/system/syscall.c -------------------------------------------------------------------------------- /kernel/task/elf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/task/elf.c -------------------------------------------------------------------------------- /kernel/task/process.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/task/process.c -------------------------------------------------------------------------------- /kernel/task/scheduler.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/task/scheduler.c -------------------------------------------------------------------------------- /kernel/task/thread.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/task/thread.c -------------------------------------------------------------------------------- /kernel/video/term.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/video/term.c -------------------------------------------------------------------------------- /kernel/x86.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/kernel/x86.asm -------------------------------------------------------------------------------- /qemu.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/qemu.sh -------------------------------------------------------------------------------- /servers/SConscript: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/servers/SConscript -------------------------------------------------------------------------------- /servers/keyboard/SConscript: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/servers/keyboard/SConscript -------------------------------------------------------------------------------- /servers/keyboard/keyboard.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/servers/keyboard/keyboard.c -------------------------------------------------------------------------------- /servers/keyboard/keyboard.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/servers/keyboard/keyboard.h -------------------------------------------------------------------------------- /servers/test/SConscript: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/servers/test/SConscript -------------------------------------------------------------------------------- /servers/test/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/servers/test/main.c -------------------------------------------------------------------------------- /servers/video/SConscript: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/servers/video/SConscript -------------------------------------------------------------------------------- /servers/video/video.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/servers/video/video.c -------------------------------------------------------------------------------- /servers/video/video.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | -------------------------------------------------------------------------------- /toolchain/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/build.sh -------------------------------------------------------------------------------- /toolchain/newlib-utopia/Makefile.am: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/Makefile.am -------------------------------------------------------------------------------- /toolchain/newlib-utopia/_exit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/_exit.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/close.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/close.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/configure.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/configure.in -------------------------------------------------------------------------------- /toolchain/newlib-utopia/crt0.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/crt0.S -------------------------------------------------------------------------------- /toolchain/newlib-utopia/environ.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/environ.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/execve.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/execve.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/fork.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/fork.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/fstat.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/fstat.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/getpid.c: -------------------------------------------------------------------------------- 1 | int getpid(void) 2 | { 3 | return 1; 4 | } 5 | -------------------------------------------------------------------------------- /toolchain/newlib-utopia/include/_syscall.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/include/_syscall.h -------------------------------------------------------------------------------- /toolchain/newlib-utopia/include/utopia.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/include/utopia.h -------------------------------------------------------------------------------- /toolchain/newlib-utopia/isatty.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/isatty.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/kill.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/kill.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/link.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/link.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/lseek.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/lseek.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/memory_map.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/memory_map.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/open.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/open.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/read.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/read.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/sbrk.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/sbrk.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/stat.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/stat.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/times.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/times.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/unlink.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/unlink.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/wait.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/wait.c -------------------------------------------------------------------------------- /toolchain/newlib-utopia/write.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/newlib-utopia/write.c -------------------------------------------------------------------------------- /toolchain/patches/binutils-2.24.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/patches/binutils-2.24.patch -------------------------------------------------------------------------------- /toolchain/patches/gcc-4.9.0.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/patches/gcc-4.9.0.patch -------------------------------------------------------------------------------- /toolchain/patches/newlib-2.1.0.patch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AndreaOrru/Utopia/HEAD/toolchain/patches/newlib-2.1.0.patch --------------------------------------------------------------------------------