From 559ca701f2a4998a43094f4890c541116f65e12b Mon Sep 17 00:00:00 2001 From: Samuel Date: Wed, 7 Aug 2024 13:59:32 -0500 Subject: [PATCH] Finish the huge build system rework --- cppreduceOS.code-workspace | 7 +- obj/assembly/bios.o | Bin 2384 -> 0 bytes obj/assembly/bochs.o | Bin 1024 -> 0 bytes obj/assembly/boot.o | Bin 2208 -> 0 bytes obj/assembly/crtbegin.o | Bin 2220 -> 0 bytes obj/assembly/crtend.o | Bin 1244 -> 0 bytes obj/assembly/crti.o | Bin 620 -> 0 bytes obj/assembly/crtn.o | Bin 572 -> 0 bytes obj/assembly/gdt.o | Bin 1520 -> 0 bytes obj/assembly/idt.o | Bin 1408 -> 0 bytes obj/assembly/isr.o | Bin 3312 -> 0 bytes obj/assembly/tss.o | Bin 1408 -> 0 bytes obj/assembly/usermode.o | Bin 1536 -> 0 bytes obj/base/bios32.o | Bin 7256 -> 0 bytes obj/base/gdt.o | Bin 6348 -> 0 bytes obj/base/hal.o | Bin 7368 -> 0 bytes obj/base/idt.o | Bin 6160 -> 0 bytes obj/base/isr.o | Bin 9288 -> 0 bytes obj/base/pic.o | Bin 6284 -> 0 bytes obj/base/processor.o | Bin 10020 -> 0 bytes obj/drivers/acpi.o | Bin 13560 -> 0 bytes obj/drivers/floppy.o | Bin 17392 -> 0 bytes obj/drivers/ide_ata.o | Bin 25616 -> 0 bytes obj/drivers/io_apic.o | Bin 3648 -> 0 bytes obj/drivers/keyboard.o | Bin 12648 -> 0 bytes obj/drivers/local_apic.o | Bin 6324 -> 0 bytes obj/drivers/pci.o | Bin 104448 -> 0 bytes obj/drivers/pit.o | Bin 7340 -> 0 bytes obj/drivers/rtc.o | Bin 6924 -> 0 bytes obj/drivers/serial.o | Bin 7612 -> 0 bytes obj/fonts/font.o | Bin 4560 -> 0 bytes obj/fs/ext2.o | Bin 43368 -> 0 bytes obj/fs/fat.o | Bin 25332 -> 0 bytes obj/fs/initrd.o | Bin 10336 -> 0 bytes obj/fs/vfs.o | Bin 22892 -> 0 bytes obj/gfx/bitmap.o | Bin 9840 -> 0 bytes obj/gfx/font.o | Bin 9580 -> 0 bytes obj/gfx/font_data.o | Bin 12032 -> 0 bytes obj/gfx/gfx.o | Bin 7212 -> 0 bytes obj/gfx/terminal.o | Bin 21068 -> 0 bytes obj/gfx/vesa.o | Bin 13496 -> 0 bytes obj/kernel/cmds.o | Bin 121956 -> 0 bytes obj/kernel/command.o | Bin 8776 -> 0 bytes obj/kernel/kernel.o | Bin 110316 -> 0 bytes obj/kernel/panic.o | Bin 13944 -> 0 bytes obj/kernel/test.o | Bin 39032 -> 0 bytes obj/libc/list.o | Bin 9072 -> 0 bytes obj/libc/ordered_array.o | Bin 7532 -> 0 bytes obj/libc/printf.o | Bin 13144 -> 0 bytes obj/libc/putchar.o | Bin 4868 -> 0 bytes obj/libc/sleep.o | Bin 4900 -> 0 bytes obj/libc/spinlock.o | Bin 2868 -> 0 bytes obj/libc/stdlib.o | Bin 2976 -> 0 bytes obj/libc/string.o | Bin 13892 -> 0 bytes obj/libc/tree.o | Bin 10872 -> 0 bytes obj/mem/dma.o | Bin 9364 -> 0 bytes obj/mem/liballoc/liballoc.o | Bin 9936 -> 0 bytes obj/mem/liballoc/liballoc_forwarder.o | Bin 6788 -> 0 bytes obj/mem/liballoc/liballoc_wrapper.o | Bin 6584 -> 0 bytes obj/mem/pmm.o | Bin 15088 -> 0 bytes obj/mem/vmm.o | Bin 13572 -> 0 bytes obj/mem/vmm_pde.o | Bin 6480 -> 0 bytes obj/mem/vmm_pte.o | Bin 6172 -> 0 bytes obj/misc/hashmap.o | Bin 11568 -> 0 bytes obj/misc/list.o | Bin 9072 -> 0 bytes obj/misc/tree.o | Bin 10872 -> 0 bytes obj/tasks/syscall.o | Bin 6644 -> 0 bytes obj/tasks/tss.o | Bin 6016 -> 0 bytes source/initial_ramdisk/generate_initrd | Bin 21568 -> 0 bytes source/initial_ramdisk/obj/generate_initrd.o | Bin 9896 -> 0 bytes source/kernel/Makefile | 8 +- source/kernel/base/bios32.c | 124 +- source/kernel/base/gdt.c | 112 +- source/kernel/base/hal.c | 196 +- source/kernel/base/idt.c | 64 +- source/kernel/base/isr.c | 212 +- source/kernel/base/pic.c | 138 +- source/kernel/base/processor.c | 340 +- source/kernel/drivers/acpi.c | 482 +-- source/kernel/drivers/floppy.c | 4 +- source/kernel/drivers/ide_ata.c | 1444 +++---- source/kernel/drivers/io_apic.c | 116 +- source/kernel/drivers/keyboard.c | 570 +-- source/kernel/drivers/local_apic.c | 154 +- source/kernel/drivers/pci.c | 534 +-- source/kernel/drivers/pit.c | 194 +- source/kernel/drivers/rtc.c | 192 +- source/kernel/drivers/serial.c | 204 +- source/kernel/fs/ext2.c | 8 +- source/kernel/fs/fat.c | 1770 ++++---- source/kernel/fs/initrd.c | 302 +- source/kernel/fs/vfs.c | 1266 +++--- source/kernel/gfx/bitmap.c | 260 +- source/kernel/gfx/font.c | 314 +- source/kernel/gfx/font_data.c | 3670 ++++++++--------- source/kernel/gfx/gfx.c | 232 +- source/kernel/gfx/terminal.c | 926 ++--- source/kernel/gfx/vesa.c | 566 +-- source/kernel/include/CONFIG.h | 4 +- source/kernel/include/acpi.h | 344 +- source/kernel/include/bios32.h | 56 +- source/kernel/include/bitmap.h | 104 +- source/kernel/include/bootinfo.h | 134 +- source/kernel/include/cmds.h | 4 +- source/kernel/include/command.h | 58 +- source/kernel/include/dma.h | 6 +- source/kernel/include/ext2.h | 6 +- source/kernel/include/fat.h | 258 +- source/kernel/include/floppy.h | 8 +- source/kernel/include/font.h | 144 +- source/kernel/include/font_data.h | 26 +- source/kernel/include/gdt.h | 88 +- source/kernel/include/gfx.h | 28 +- source/kernel/include/graphics.h | 92 +- source/kernel/include/hal.h | 70 +- source/kernel/include/hashmap.h | 6 +- source/kernel/include/heap.h | 2 +- source/kernel/include/ide_ata.h | 298 +- source/kernel/include/idt.h | 114 +- source/kernel/include/initrd.h | 76 +- source/kernel/include/io_apic.h | 50 +- source/kernel/include/isr.h | 280 +- source/kernel/include/kernel.h | 86 +- source/kernel/include/keyboard.h | 174 +- source/kernel/include/liballoc.h | 2 +- source/kernel/include/liballoc_forwarder.h | 46 +- source/kernel/include/liballoc_wrapper.h | 10 +- source/kernel/include/libc/assert.h | 14 - source/kernel/include/libc/divdi3.h | 3 - source/kernel/include/libc/limits.h | 62 - source/kernel/include/libc/ordered_array.h | 24 - source/kernel/include/libc/ordered_array_t.h | 20 - source/kernel/include/libc/quad.h | 3 - source/kernel/include/libc/sleep.h | 12 - source/kernel/include/libc/spinlock.h | 15 - source/kernel/include/libc/stdarg.h | 34 - source/kernel/include/libc/stdbool.h | 17 - source/kernel/include/libc/stddef.h | 19 - source/kernel/include/libc/stdint.h | 558 --- source/kernel/include/libc/stdio.h | 15 - source/kernel/include/libc/stdlib.h | 14 - source/kernel/include/libc/string.h | 40 - source/kernel/include/libc/udivdi3.h | 3 - source/kernel/include/libc/va_list.h | 14 - source/kernel/include/list.h | 8 +- source/kernel/include/local_apic.h | 154 +- source/kernel/include/mem.h | 11 +- source/kernel/include/panic.h | 40 +- source/kernel/include/pci.h | 200 +- source/kernel/include/pic.h | 262 +- source/kernel/include/pit.h | 140 +- source/kernel/include/pmm.h | 12 +- source/kernel/include/processor.h | 96 +- source/kernel/include/regs.h | 66 +- source/kernel/include/rtc.h | 54 +- source/kernel/include/serial.h | 60 +- source/kernel/include/syscall.h | 6 +- source/kernel/include/terminal.h | 112 +- source/kernel/include/tree.h | 10 +- source/kernel/include/tss.h | 112 +- source/kernel/include/vesa.h | 152 +- source/kernel/include/vfs.h | 232 +- source/kernel/include/vmm.h | 20 +- source/kernel/include/vmm_pde.h | 4 +- source/kernel/include/vmm_pte.h | 6 +- source/kernel/kernel/cmds.c | 8 +- source/kernel/kernel/command.c | 276 +- source/kernel/kernel/kernel.c | 722 ++-- source/kernel/kernel/panic.c | 442 +- source/kernel/kernel/test.c | 24 +- source/kernel/libc/ordered_array.c | 84 - source/kernel/libc/printf.c | 381 -- source/kernel/libc/putchar.c | 10 - source/kernel/libc/sleep.c | 14 - source/kernel/libc/spinlock.c | 25 - source/kernel/libc/stdlib.c | 45 - source/kernel/libc/string.c | 422 -- source/kernel/make.config | 6 +- source/kernel/mem/dma.c | 2 +- source/kernel/mem/liballoc/liballoc.c | 4 +- .../kernel/mem/liballoc/liballoc_forwarder.c | 124 +- source/kernel/mem/liballoc/liballoc_wrapper.c | 2 +- source/kernel/mem/pmm.c | 4 +- source/kernel/mem/vmm.c | 4 +- source/kernel/mem/vmm_pde.c | 2 +- source/kernel/mem/vmm_pte.c | 4 +- source/kernel/misc/hashmap.c | 13 +- source/kernel/misc/list.c | 2 +- source/kernel/misc/tree.c | 4 +- source/kernel/tasks/syscall.c | 4 +- source/kernel/tasks/tss.c | 72 +- source/libc_reduced/Makefile | 9 +- source/libc_reduced/include/stddef.h | 6 - source/libc_reduced/make.config | 2 +- source/sysroot/boot/kernel.elf | Bin 611336 -> 0 bytes source/sysroot/usr/fonts/font.o | Bin 4560 -> 0 bytes source/sysroot/usr/include/kernel/CONFIG.h | 15 - source/sysroot/usr/include/kernel/acpi.h | 172 - source/sysroot/usr/include/kernel/assert.h | 14 - source/sysroot/usr/include/kernel/bios32.h | 28 - source/sysroot/usr/include/kernel/bitmap.h | 52 - source/sysroot/usr/include/kernel/bootinfo.h | 67 - source/sysroot/usr/include/kernel/cmds.h | 43 - source/sysroot/usr/include/kernel/command.h | 29 - source/sysroot/usr/include/kernel/divdi3.h | 3 - source/sysroot/usr/include/kernel/dma.h | 111 - source/sysroot/usr/include/kernel/ext2.h | 249 -- source/sysroot/usr/include/kernel/fat.h | 129 - source/sysroot/usr/include/kernel/floppy.h | 117 - source/sysroot/usr/include/kernel/font.h | 72 - source/sysroot/usr/include/kernel/font_data.h | 13 - source/sysroot/usr/include/kernel/gdt.h | 44 - source/sysroot/usr/include/kernel/gfx.h | 14 - source/sysroot/usr/include/kernel/graphics.h | 46 - source/sysroot/usr/include/kernel/hal.h | 35 - source/sysroot/usr/include/kernel/hashmap.h | 42 - source/sysroot/usr/include/kernel/heap.h | 2 - source/sysroot/usr/include/kernel/ide_ata.h | 149 - source/sysroot/usr/include/kernel/idt.h | 57 - source/sysroot/usr/include/kernel/initrd.h | 38 - source/sysroot/usr/include/kernel/io_apic.h | 25 - source/sysroot/usr/include/kernel/isr.h | 140 - source/sysroot/usr/include/kernel/kernel.h | 43 - source/sysroot/usr/include/kernel/keyboard.h | 87 - source/sysroot/usr/include/kernel/liballoc.h | 84 - .../usr/include/kernel/liballoc_forwarder.h | 23 - .../usr/include/kernel/liballoc_wrapper.h | 14 - .../sysroot/usr/include/kernel/libc/assert.h | 14 - .../sysroot/usr/include/kernel/libc/divdi3.h | 3 - .../sysroot/usr/include/kernel/libc/limits.h | 62 - source/sysroot/usr/include/kernel/libc/list.h | 48 - .../usr/include/kernel/libc/ordered_array.h | 24 - .../usr/include/kernel/libc/ordered_array_t.h | 20 - source/sysroot/usr/include/kernel/libc/quad.h | 3 - .../sysroot/usr/include/kernel/libc/sleep.h | 12 - .../usr/include/kernel/libc/spinlock.h | 15 - .../sysroot/usr/include/kernel/libc/stdarg.h | 34 - .../sysroot/usr/include/kernel/libc/stdbool.h | 17 - .../sysroot/usr/include/kernel/libc/stddef.h | 19 - .../sysroot/usr/include/kernel/libc/stdint.h | 558 --- .../sysroot/usr/include/kernel/libc/stdio.h | 15 - .../sysroot/usr/include/kernel/libc/stdlib.h | 14 - .../sysroot/usr/include/kernel/libc/string.h | 40 - source/sysroot/usr/include/kernel/libc/tree.h | 45 - .../sysroot/usr/include/kernel/libc/udivdi3.h | 3 - .../sysroot/usr/include/kernel/libc/va_list.h | 14 - source/sysroot/usr/include/kernel/limits.h | 62 - source/sysroot/usr/include/kernel/list.h | 48 - .../sysroot/usr/include/kernel/local_apic.h | 77 - source/sysroot/usr/include/kernel/mem.h | 18 - .../usr/include/kernel/ordered_array.h | 24 - .../usr/include/kernel/ordered_array_t.h | 20 - source/sysroot/usr/include/kernel/panic.h | 20 - source/sysroot/usr/include/kernel/pci.h | 100 - .../sysroot/usr/include/kernel/pci_vendors.h | 1830 -------- source/sysroot/usr/include/kernel/pic.h | 131 - source/sysroot/usr/include/kernel/pit.h | 70 - source/sysroot/usr/include/kernel/pmm.h | 60 - source/sysroot/usr/include/kernel/processor.h | 48 - source/sysroot/usr/include/kernel/quad.h | 3 - source/sysroot/usr/include/kernel/regs.h | 33 - source/sysroot/usr/include/kernel/rtc.h | 27 - source/sysroot/usr/include/kernel/serial.h | 30 - source/sysroot/usr/include/kernel/sleep.h | 12 - source/sysroot/usr/include/kernel/spinlock.h | 15 - source/sysroot/usr/include/kernel/stdarg.h | 34 - source/sysroot/usr/include/kernel/stdbool.h | 16 - source/sysroot/usr/include/kernel/stddef.h | 18 - source/sysroot/usr/include/kernel/stdint.h | 558 --- source/sysroot/usr/include/kernel/stdio.h | 15 - source/sysroot/usr/include/kernel/stdlib.h | 14 - source/sysroot/usr/include/kernel/string.h | 40 - source/sysroot/usr/include/kernel/syscall.h | 44 - source/sysroot/usr/include/kernel/terminal.h | 56 - source/sysroot/usr/include/kernel/test.h | 12 - source/sysroot/usr/include/kernel/tree.h | 45 - source/sysroot/usr/include/kernel/tss.h | 56 - source/sysroot/usr/include/kernel/udivdi3.h | 3 - source/sysroot/usr/include/kernel/va_list.h | 14 - source/sysroot/usr/include/kernel/vesa.h | 76 - source/sysroot/usr/include/kernel/vfs.h | 116 - source/sysroot/usr/include/kernel/vmm.h | 61 - source/sysroot/usr/include/kernel/vmm_pde.h | 45 - source/sysroot/usr/include/kernel/vmm_pte.h | 44 - 284 files changed, 10236 insertions(+), 18900 deletions(-) delete mode 100644 obj/assembly/bios.o delete mode 100644 obj/assembly/bochs.o delete mode 100644 obj/assembly/boot.o delete mode 100644 obj/assembly/crtbegin.o delete mode 100644 obj/assembly/crtend.o delete mode 100644 obj/assembly/crti.o delete mode 100644 obj/assembly/crtn.o delete mode 100644 obj/assembly/gdt.o delete mode 100644 obj/assembly/idt.o delete mode 100644 obj/assembly/isr.o delete mode 100644 obj/assembly/tss.o delete mode 100644 obj/assembly/usermode.o delete mode 100644 obj/base/bios32.o delete mode 100644 obj/base/gdt.o delete mode 100644 obj/base/hal.o delete mode 100644 obj/base/idt.o delete mode 100644 obj/base/isr.o delete mode 100644 obj/base/pic.o delete mode 100644 obj/base/processor.o delete mode 100644 obj/drivers/acpi.o delete mode 100644 obj/drivers/floppy.o delete mode 100644 obj/drivers/ide_ata.o delete mode 100644 obj/drivers/io_apic.o delete mode 100644 obj/drivers/keyboard.o delete mode 100644 obj/drivers/local_apic.o delete mode 100644 obj/drivers/pci.o delete mode 100644 obj/drivers/pit.o delete mode 100644 obj/drivers/rtc.o delete mode 100644 obj/drivers/serial.o delete mode 100644 obj/fonts/font.o delete mode 100644 obj/fs/ext2.o delete mode 100644 obj/fs/fat.o delete mode 100644 obj/fs/initrd.o delete mode 100644 obj/fs/vfs.o delete mode 100644 obj/gfx/bitmap.o delete mode 100644 obj/gfx/font.o delete mode 100644 obj/gfx/font_data.o delete mode 100644 obj/gfx/gfx.o delete mode 100644 obj/gfx/terminal.o delete mode 100644 obj/gfx/vesa.o delete mode 100644 obj/kernel/cmds.o delete mode 100644 obj/kernel/command.o delete mode 100644 obj/kernel/kernel.o delete mode 100644 obj/kernel/panic.o delete mode 100644 obj/kernel/test.o delete mode 100644 obj/libc/list.o delete mode 100644 obj/libc/ordered_array.o delete mode 100644 obj/libc/printf.o delete mode 100644 obj/libc/putchar.o delete mode 100644 obj/libc/sleep.o delete mode 100644 obj/libc/spinlock.o delete mode 100644 obj/libc/stdlib.o delete mode 100644 obj/libc/string.o delete mode 100644 obj/libc/tree.o delete mode 100644 obj/mem/dma.o delete mode 100644 obj/mem/liballoc/liballoc.o delete mode 100644 obj/mem/liballoc/liballoc_forwarder.o delete mode 100644 obj/mem/liballoc/liballoc_wrapper.o delete mode 100644 obj/mem/pmm.o delete mode 100644 obj/mem/vmm.o delete mode 100644 obj/mem/vmm_pde.o delete mode 100644 obj/mem/vmm_pte.o delete mode 100644 obj/misc/hashmap.o delete mode 100644 obj/misc/list.o delete mode 100644 obj/misc/tree.o delete mode 100644 obj/tasks/syscall.o delete mode 100644 obj/tasks/tss.o delete mode 100755 source/initial_ramdisk/generate_initrd delete mode 100644 source/initial_ramdisk/obj/generate_initrd.o delete mode 100644 source/kernel/include/libc/assert.h delete mode 100644 source/kernel/include/libc/divdi3.h delete mode 100644 source/kernel/include/libc/limits.h delete mode 100644 source/kernel/include/libc/ordered_array.h delete mode 100644 source/kernel/include/libc/ordered_array_t.h delete mode 100644 source/kernel/include/libc/quad.h delete mode 100644 source/kernel/include/libc/sleep.h delete mode 100644 source/kernel/include/libc/spinlock.h delete mode 100644 source/kernel/include/libc/stdarg.h delete mode 100644 source/kernel/include/libc/stdbool.h delete mode 100644 source/kernel/include/libc/stddef.h delete mode 100644 source/kernel/include/libc/stdint.h delete mode 100644 source/kernel/include/libc/stdio.h delete mode 100644 source/kernel/include/libc/stdlib.h delete mode 100644 source/kernel/include/libc/string.h delete mode 100644 source/kernel/include/libc/udivdi3.h delete mode 100644 source/kernel/include/libc/va_list.h delete mode 100644 source/kernel/libc/ordered_array.c delete mode 100644 source/kernel/libc/printf.c delete mode 100644 source/kernel/libc/putchar.c delete mode 100644 source/kernel/libc/sleep.c delete mode 100644 source/kernel/libc/spinlock.c delete mode 100644 source/kernel/libc/stdlib.c delete mode 100644 source/kernel/libc/string.c delete mode 100755 source/sysroot/boot/kernel.elf delete mode 100644 source/sysroot/usr/fonts/font.o delete mode 100644 source/sysroot/usr/include/kernel/CONFIG.h delete mode 100644 source/sysroot/usr/include/kernel/acpi.h delete mode 100644 source/sysroot/usr/include/kernel/assert.h delete mode 100644 source/sysroot/usr/include/kernel/bios32.h delete mode 100644 source/sysroot/usr/include/kernel/bitmap.h delete mode 100644 source/sysroot/usr/include/kernel/bootinfo.h delete mode 100644 source/sysroot/usr/include/kernel/cmds.h delete mode 100644 source/sysroot/usr/include/kernel/command.h delete mode 100644 source/sysroot/usr/include/kernel/divdi3.h delete mode 100644 source/sysroot/usr/include/kernel/dma.h delete mode 100644 source/sysroot/usr/include/kernel/ext2.h delete mode 100644 source/sysroot/usr/include/kernel/fat.h delete mode 100644 source/sysroot/usr/include/kernel/floppy.h delete mode 100644 source/sysroot/usr/include/kernel/font.h delete mode 100644 source/sysroot/usr/include/kernel/font_data.h delete mode 100644 source/sysroot/usr/include/kernel/gdt.h delete mode 100644 source/sysroot/usr/include/kernel/gfx.h delete mode 100644 source/sysroot/usr/include/kernel/graphics.h delete mode 100644 source/sysroot/usr/include/kernel/hal.h delete mode 100644 source/sysroot/usr/include/kernel/hashmap.h delete mode 100644 source/sysroot/usr/include/kernel/heap.h delete mode 100644 source/sysroot/usr/include/kernel/ide_ata.h delete mode 100644 source/sysroot/usr/include/kernel/idt.h delete mode 100644 source/sysroot/usr/include/kernel/initrd.h delete mode 100644 source/sysroot/usr/include/kernel/io_apic.h delete mode 100644 source/sysroot/usr/include/kernel/isr.h delete mode 100644 source/sysroot/usr/include/kernel/kernel.h delete mode 100644 source/sysroot/usr/include/kernel/keyboard.h delete mode 100644 source/sysroot/usr/include/kernel/liballoc.h delete mode 100644 source/sysroot/usr/include/kernel/liballoc_forwarder.h delete mode 100644 source/sysroot/usr/include/kernel/liballoc_wrapper.h delete mode 100644 source/sysroot/usr/include/kernel/libc/assert.h delete mode 100644 source/sysroot/usr/include/kernel/libc/divdi3.h delete mode 100644 source/sysroot/usr/include/kernel/libc/limits.h delete mode 100644 source/sysroot/usr/include/kernel/libc/list.h delete mode 100644 source/sysroot/usr/include/kernel/libc/ordered_array.h delete mode 100644 source/sysroot/usr/include/kernel/libc/ordered_array_t.h delete mode 100644 source/sysroot/usr/include/kernel/libc/quad.h delete mode 100644 source/sysroot/usr/include/kernel/libc/sleep.h delete mode 100644 source/sysroot/usr/include/kernel/libc/spinlock.h delete mode 100644 source/sysroot/usr/include/kernel/libc/stdarg.h delete mode 100644 source/sysroot/usr/include/kernel/libc/stdbool.h delete mode 100644 source/sysroot/usr/include/kernel/libc/stddef.h delete mode 100644 source/sysroot/usr/include/kernel/libc/stdint.h delete mode 100644 source/sysroot/usr/include/kernel/libc/stdio.h delete mode 100644 source/sysroot/usr/include/kernel/libc/stdlib.h delete mode 100644 source/sysroot/usr/include/kernel/libc/string.h delete mode 100644 source/sysroot/usr/include/kernel/libc/tree.h delete mode 100644 source/sysroot/usr/include/kernel/libc/udivdi3.h delete mode 100644 source/sysroot/usr/include/kernel/libc/va_list.h delete mode 100644 source/sysroot/usr/include/kernel/limits.h delete mode 100644 source/sysroot/usr/include/kernel/list.h delete mode 100644 source/sysroot/usr/include/kernel/local_apic.h delete mode 100644 source/sysroot/usr/include/kernel/mem.h delete mode 100644 source/sysroot/usr/include/kernel/ordered_array.h delete mode 100644 source/sysroot/usr/include/kernel/ordered_array_t.h delete mode 100644 source/sysroot/usr/include/kernel/panic.h delete mode 100644 source/sysroot/usr/include/kernel/pci.h delete mode 100644 source/sysroot/usr/include/kernel/pci_vendors.h delete mode 100644 source/sysroot/usr/include/kernel/pic.h delete mode 100644 source/sysroot/usr/include/kernel/pit.h delete mode 100644 source/sysroot/usr/include/kernel/pmm.h delete mode 100644 source/sysroot/usr/include/kernel/processor.h delete mode 100644 source/sysroot/usr/include/kernel/quad.h delete mode 100644 source/sysroot/usr/include/kernel/regs.h delete mode 100644 source/sysroot/usr/include/kernel/rtc.h delete mode 100644 source/sysroot/usr/include/kernel/serial.h delete mode 100644 source/sysroot/usr/include/kernel/sleep.h delete mode 100644 source/sysroot/usr/include/kernel/spinlock.h delete mode 100644 source/sysroot/usr/include/kernel/stdarg.h delete mode 100644 source/sysroot/usr/include/kernel/stdbool.h delete mode 100644 source/sysroot/usr/include/kernel/stddef.h delete mode 100644 source/sysroot/usr/include/kernel/stdint.h delete mode 100644 source/sysroot/usr/include/kernel/stdio.h delete mode 100644 source/sysroot/usr/include/kernel/stdlib.h delete mode 100644 source/sysroot/usr/include/kernel/string.h delete mode 100644 source/sysroot/usr/include/kernel/syscall.h delete mode 100644 source/sysroot/usr/include/kernel/terminal.h delete mode 100644 source/sysroot/usr/include/kernel/test.h delete mode 100644 source/sysroot/usr/include/kernel/tree.h delete mode 100644 source/sysroot/usr/include/kernel/tss.h delete mode 100644 source/sysroot/usr/include/kernel/udivdi3.h delete mode 100644 source/sysroot/usr/include/kernel/va_list.h delete mode 100644 source/sysroot/usr/include/kernel/vesa.h delete mode 100644 source/sysroot/usr/include/kernel/vfs.h delete mode 100644 source/sysroot/usr/include/kernel/vmm.h delete mode 100644 source/sysroot/usr/include/kernel/vmm_pde.h delete mode 100644 source/sysroot/usr/include/kernel/vmm_pte.h diff --git a/cppreduceOS.code-workspace b/cppreduceOS.code-workspace index 340695af..b85b224a 100644 --- a/cppreduceOS.code-workspace +++ b/cppreduceOS.code-workspace @@ -27,7 +27,12 @@ "pmm.h": "c", "panic.h": "c", "floppy.h": "c", - "syscall.h": "c" + "syscall.h": "c", + "mem.h": "c", + "list.h": "c", + "hashmap.h": "c", + "liballoc_forwarder.h": "c", + "vmm.h": "c" } } } \ No newline at end of file diff --git a/obj/assembly/bios.o b/obj/assembly/bios.o deleted file mode 100644 index a6f434fe5bd0c4438731d41d79ce2859b8d16e37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2384 zcmcgu&u<$=6rQou5}@fiEl41YWIGP($v@IiAsQ!6aHt}i5R>#^fwW#HyT&N~!FnAL zDODnc1EJQ6KfsZ=@=M}?Pz6y*MXm^POK+{jfmR%f#08KD-`m}>Cuxerg=fvY?|bi? zH*dV_U9V5)UgexKVVwC{k1>|^5~Gg4z!c^a(*NYCCXLhHs*h3TeQBeB7k>=i?_qL@ zKE}S1xL7iXnB2(&=;n}wV*?oEsphj7a=kPf=o3Yd6EG}cKsJX)LIgY$x&%1Y7S@37 z84%jz6b9+eU}QWD=h#Qkof8CJ)LW1+rN4yk6#||KT@hT~m-RC?h8XP&*xmPC55qZ@ zM)Em9;6=T42~)ZV-8Te06T0i*^1h+R-Sg4DPhyac&fD=YoMQ>-U5V@}p#vpypzxyGi= z8Y&r|?PRWLJFN2qGj@syZ0-d+$J9mRrX&5r*xK7J*tZMzt%7~GVBag)`x>=s4B${3 zwD_V;w||I0r87dx?sn5DmGu~_r%re#`M323$I zdXF#ZrB+$hOs!Vdn=EGP%UbMM%%zQ1sisv)+nQlFYf~Np3y96_5dCXTGM2xc) z;C&3&IQto34F&19LHP&p8xnVQ?(BDd*}aILJ<%gTe*6OIc_b`=dPR^Aya4eJfq$3y zHt;C+BcuH1@M9AH7Ca;IAHjr1+tyo8vkYs+0qRiUrcEVb6E zmUL5XSmwhEFOD!zSzfYKy=Ive+*neGR*70r$h3wX%gIY}tlqMu;9|=(QBu{L4Mq(+ zz&ptFYzE&*&w_yNdx@^FYvTJNM(;oFT}FEDarq?%einnCt&g$^B)t00RS~rxz6`UI z^RIg1bINJeALQYoRQAnxhEj!z)WpilYAOy( zrs64;Ks+%Oj(0ziR5>vo8IMNF0fva~o^$rdJt!Y}xJzBJF~ cvN?bt&pMXN`TEeO+y9Hy`6IqNS8;Uy2hvz;hX4Qo diff --git a/obj/assembly/bochs.o b/obj/assembly/bochs.o deleted file mode 100644 index 859fa3cb3b16e4855d4ac7a20f7bb66118155cc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1024 zcmb7DyG{c!5ZogHA%aANsHhMX)gdG*DwMk<$d&jT`OhWeV1CYMv*eD3$j(|m!A9%+q zl69NNj_*-iM2F_PF2IU+EnJ{eAR{W+%Wo!o%O(Bpmef5!w`gz6d+>c9|M27Q$nlI^ z=DxKUAN~6`XV*CXzb9N&6*Szm?-&e1Uih-=aw$pCKFn6Zv;6ujo__+6d*~ fTeK4(ZGLHGt;uyZJJjRe(5A}fRCirmM_thuaqe1= diff --git a/obj/assembly/boot.o b/obj/assembly/boot.o deleted file mode 100644 index b0e3d1e3f61b4725bcbf7699076e6fe9c8cd17e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2208 zcmb7G&x;&I6n;Ik8&}Y{`2kU*xDg~dNM{WRfgm_NGd=5&>FHr+cVTmByR(yI$<7aE zdc~aFgMWa6cQ4*V@TP|x0($W%cn~}Z9s-{Ftk`~ERaZ|<5)XMxb-nMsuimR4uWI&F zzteIYM~pa9l?4*16^^T_za(d5)li?SXH2$AF{)M-dC7{fQs}gi2e*=*Q3@>US~-nw z4b8X}ucm$c7Bo2ro$*f42qEvRR@K+=-UKqS=$Hchsu=pi7?g`>W(~wWO#Bg?FF=1C zjq6~{%V>7IbxhzfY(`AH>oB}%jO-DJ<2hf(V&ghJG&2UOtb?~fr4Zxm0dtIzP4Hd? zU_9m_k9)jd=;)O6z~i18G4WCuj85MayoMoJzGLWi-bdiQ4;%BEGiCn;njMdeI}e)? z%I>e-c0BjoJBO^~c{Dy}{#u@;v|RU)oD?M@NV0K{A=7;_k<3EN(KNi<=HV zfnk1cp3c%Zf%age`vT8~hXrSUm>k`W;#oYtJH$XZV)qG~hSQ^D9FNG+_+Wfzvc%Vh zVr-Jkh94X1;lX&gMAZgOy)#49k~z6uF6~*0y^3MQSA6l~fODL=vgTIDiYKQs12WIgwqyzkuCaNj$ZT^M0Rv4e!A6EK8s&aAx zpjB}rezz=~<{wKKS>yS9I7$v5TxN;7@q8qKAB6qAsNHRaQV+xJsOj%YBWQNoU0;H* zIgr6#P!BuNwpZ`KqUnLxlV-oY>q{f-w%S{TmjODV*Yx{Q*9&~{dcn5rwwrz!wfZpB zcUltcbhg_nQ>)``4J;gZTkVF08z1_On}eM|ZuWGtT`(fR5c$y@DQH9nU6g;=5SskL*xdU;Sf8g@ORo- zKT%zKXYC9YQ*q^#Q)5^qeCw;iTje-^pL`i#_0Iz4?mVMZ)R0v*)#|&>-rIW@F5IeA RFi1K0;r+AomyZ8Y{sUz@`Skz* diff --git a/obj/assembly/crtbegin.o b/obj/assembly/crtbegin.o deleted file mode 100644 index 49f9e24833ad02185428cca35424d97d0298e363..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2220 zcma)7U1%It6h5<){)DEwkwUetWFM@Fii6Q=O~ukS-K3EwO1lw7>t%OmHoIkiWan;4 zL9n{E7|22pUqlf^AM~j{6cH6|Ob`lvhDb`S|zD`;i~-+~nu{oml;*GjuiF-Z(||i_Ygv zY;HTJIt*Q{t}ORAn@zKrczvZu4Zi#jvKarD4J_g`g4NgFII++2E8Yk)@E&IMSmJ8#c4lD z!pXXAeO=;}x6Gvt)YF1^57biEGA?bT9cu`C0BoB}n`ppFIKZ~Kw3(i>5)SYY3&)`N z0`LKyV|)VfoP|Rj^ST|(|6O=q1vkdFxzw%t#`Pw#-X|dNncR=|fBqJ`J9cX;eQ9Ol zF`^3=P9R?Dz&9-18*}Mz3v>T2>%bDI?drgkt;$f=ayc(cLJX%~JSL8g9Zv}Xbhr&A zkBE_D2gj4*P;zu^LJ?Bq!-nk#)nKX+%AhJ_No0$aau7nouZXE)C6g`+UskH2NY|z* zTPeL+3}oPYPd&S5h`1mM{xs0jgOsbLOM&ofrP67tWKITIiTpEzkmA9T6Nh==vDCO| z4Tu5{mr7@fK~ytSX|D)BtcZNN>@zJ|oYu3%L^OdyIadM62-#UaN3`vv-bM#UxRo&u zco%!%gStMV@vH0~AS!750eieUA8Y>w`<+BzvBxWXUi(E|zpVXl>@mn6?7NBh>k)Sk2W4ej= zcJSub8F#b&5+;???3A4KY0KE diff --git a/obj/assembly/crtend.o b/obj/assembly/crtend.o deleted file mode 100644 index 09855c650cfc6c16559f14fc64a3e67965c391d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1244 zcmah}&1w`u5U$ys{D?oB>0W9Kw@CVPkl0+Xr^Q-Xz&_Ct}Kk5NDc_9aVL*DW_YOVeUFR5QhIqkQ8Rns#Fx_3S)*sOQlt3VlYxr$Q4wy-pLDi5bxo?Br6xgxVfFZ z|MuIxyS>Y7F?SpXG90)l6yW7zlmdMO@Ugr-IVIz}FINGpR!X4D9ecR&Y{_V~bdNUU zb&F^-jxavN8sU}>P|10(qZPeAW_~9ty*X*9b)+MxRgyrZc`D1ZivC%47&q;xJflWMqH=Mh0dE1doB?3RJ=bOlvT3GH@`&9*#W>Q;&^CHGu(WA`^--W}pZ% zU}j)J<^p9|fqcE<%G{E~Bp_W<1fervtdi7<5(d4L#F9h?y`ShA@ATwbArVao=T^lw4 diff --git a/obj/assembly/gdt.o b/obj/assembly/gdt.o deleted file mode 100644 index f60b3d8258a6939e2895af9a3eb9abef955774f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1520 zcmb7EJ#Q015S_K1U<8D7KoN)!83_au(j`P`Kqv~|MIeeqPq<6Yj?vkPeCLRWg0u+9 z9epbP01Xwg#2-jW=@QXVQ^0$BJIOjx3dY)-c{6X{&hG8`{gdZUjWMETq$~$WWWg2Y ztiL6Jl$82ko|+uvZq@)YS3HHl#V6p)UVaGPHxFxXHRSwGb}?xOxe5j~=&5-T!`G{$ zFoT?$>Rm(Pq$c5)!K=b^E;-aAzU?rawbv-rT}-EX_YiZA+77@40P67!$UBX(B3EndX z&Xo5F*k5-59{0y}>2=-DE{3zV2cAEVXH5Hoq1wbl@br!lYwhFX>y@)6XnYN%|D!+X z5Bop+d%rG&QI+o`hI#TfmoQt;@@^i*h_>5>cetCRjNGY+_(j6ajpJ^zrPQ?5Nk*teqM$aqP~B&4tg`<@ru$~PBESFoWq!F= zk>KtN^VxhC{tYKSr9|t?cvJq}3wX*=mL=^t-JWi)ui}Q=qw5^iCBwOKw|I7aR`-NkIe=takmjD0& diff --git a/obj/assembly/idt.o b/obj/assembly/idt.o deleted file mode 100644 index 306e82e57ff272abaeb683c3726557bf90c97ae8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1408 zcmb7EO>fgc5Zz7E5>aTAQlugf3KEE(+z;h~L{X>;7e0gp_r|7f8_98l?N;=MB|w^^LA#u>&@|t*DtNLM#P%BxkSeFe4^{@l9@9# zq5hX;P3p8?^$lg3szS^A*I?@^ehS_Xg=MxjVtSGh7L5>VK-q(qHSa)my5py*?=FIPc|Pm=Ir86`c8r({#=+K-^+`v2qSn$!_s=Z9Y+VdTVWQa zyK!!UEKb7UO00yVgD4G$UyU?WSP2`@-E|#pixvuHR&s4s#7I!nu^LQ8~N6UllA_()L8Kij;Cdn2sR^Nk` z_vrGpbQj(w%fp87oUFcdz_U=FhBqnC5c2iit4i&OvEDv^|E9ARtagKyHDkYAX)`YD z=JBKQJCu3!YzvIzyP`aS3WwOX@te1;>3Z`~^AVSFL^8^E~CuQxSDrDYZPDXftuHimD2idS8(}c~pm0188$yEEEmLMdAb21LuuW7VWMb`v#4r5?U4cnqaRSlxdrL5<2axwWAvBkF99phBfX#7#T$j-gKzKF8sDQ(r@#yGE$p+>WlJS2lE=kE+s@(m?52X=wA%U$<`E+R|S7q4ag> z=TbR!=wi+H|1T?0fhwPY_sXBbSCl`1kCfksuPna{UsXN^UtK-|KdSs@P*d&)jn*$? z#bAu?Wf-fo47EDVP^a4&>h)#@6^zqsEJXDR3k`a)h4H$@LZhBzVS=7!VWOUB;Q?K1 z;Xxg-FiGG1$8?^oZ&-Lp4_TO^f3h%DU$*eD{?5WQebK^n{UzXLpmz7;OVwxWXp{by z-~}=L6`>+%)?W}J!3=$tP#MhBpAf2oS^6ZQI+(4G6GjDd^ie`hFjpTUj1C^ruMoxr z^Yk9V*kHciO{fhX)g6So;4%F?p+1P~b%b$2LO%uIuPrRzm)YN^;>F#?zCvFr4LXps zG1P@jcbLw zHlG=hY6om;R{>pzGkbQ5Z8&t-F?FT7F=DrT65HqQ?QGujvz;8i3+zB-#1oA79&T1) z5!{LL*~0tjb}xH>ZNS*tuqKNB&w)1z{UUga&>dhtn`q4MMC3uE&LZ-eM5E3l_8Mh% z5xh_6{ovPxejVH|^c!G4lW6RB81a}wN}&Nz9)I4+_oPt3qD{Ul;lta9L>9{vq^b@ZUoJ2(At<60Xl)1iJsq4AdKP$}(DT6ug-(JG3%wBhw$Mw# zCxl)J{!r-E;L}2H0G|{31@Hx-w}USUodFLD-3`7fv`Q6=nOwU2Kq6Z##8btbLR__f zXQsC=+mnALmGA7%6gakeh3QE;pRSdzjcx(m<8%w@ z7SS!HOWG1slQcz1Qzi8Nu4ig}Q|p^r-_-i1);G1jsr5~5 ztEp`b*TqC(PX~tJF$9lx@Ms5*cJOEik9P2A2XCv;4$OTp*lO;C%GPr)R10u{3Tp&c z;H6+OBVJ&pGMf2H%U`};r8Zy=wP)t-1*3Jo4|3t_`-(z zEe|^?^(%5BY7R5KKkMt@&C5K_-MjnJWkXeEPBpT~YhK#CCXq7?QC34SY7Xzzmu4+2svtxIx&fQF%%X?Y(WT|v6NnOuCuXl&;AWU6^3h(Ir zv~(4|CCkHx@SLoEbii{MF$`-`p28LL`=v_miMF<$ZErSLla;k(dDYnW7s`wh`+j1p zyob_{?(G)+xL1@%7{Vd84gBV9eWqHwSGx&PB{2=#lFw3nQ}@ZVzvr&w-+vs@yPe!h XCN$H&)rD72Di&;hCv`nf`N!X11@Lnl diff --git a/obj/assembly/usermode.o b/obj/assembly/usermode.o deleted file mode 100644 index dce598185f953bf8e20d51ea56a12087f7e22500..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1536 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 diff --git a/obj/base/hal.o b/obj/base/hal.o deleted file mode 100644 index d6c87de5ced194a029424b55a8a822078061c568..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7368 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

%*20pYh>`efX>oU+`fbb-at?^^_0)whzDChu`bN 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 diff --git a/obj/drivers/acpi.o b/obj/drivers/acpi.o deleted file mode 100644 index 86d9cb3f2c0a34fd61791b1bfc680b2fb30740d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13560 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 X3$Bc`!;7}vdfh1ZDJ?NSj^6(QHuzAD diff --git a/obj/drivers/io_apic.o b/obj/drivers/io_apic.o deleted file mode 100644 index 3d6d34eb4a63ff65292f0f903c295a557b6c23fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3648 zcma)8TWl0n7(Qoqw;j4|ciSSRf^k$DG1A>q2nbTSlvSIcG+>D+Ql`77yCb`^&Fm~U z?^%p&784p1ul0fGizY-96TIL<38F!LF!G{rK4?-yRg8U;SigVfob41f@lVeAZ{Po) z|C~9Oc_y{vUd}mF#94^VYm6CD-?P?ZE7@Y!!G^0pRc6AqRP%|{wbs-b+VFJjY-+YLrSqxS*{NMab7g({ zJzu?C{jv_MOz}GQfR8;@d+eI5V(Dor{rRbKdu66MNAmPF z4-~($$8%L?^vC(o^q_C7rmogfSIPGi2gy*O1Cp zNzHQj?@rA)-(9-Em{r_5G&nF~*_OM}7%*+S=o+M0X5Km`jKSnig8;_ioUjcEHZvK= z=81UirSW@WdZa{-({%Mu!4eKfEZaq3;~mf4lX z$vJtfp5rE&qs%Jj_cIZG(R>0@o1&RlfF+)H-`=%ggjl3r6QztN zxL?NYU4tDy@D;z5HUI;qw9f~0o2h2Fu zA>ou*B5B#_d^sbMd22LHXKchAx6+9;-B=|zgB_d5`GZ8fp+ZaexrsBI&rMX;=oS5p zwyML*P5jZP@BJA&JJfIrJ=cG1sAw97OXi9Nkt~^ovdAa5i_$^2IG%JwrkoZ#cPC55 zvXd6cgTk>zo~4UroR0e*95x0vY%ta*RwsImp2C_wbZ*%e{aIlP$4Wyropi2$T-dHv zE{r=xqbF58;lbYL8Fgn-q?i~uLhxFuK_^INxe#8r1o zNw_K7b&e{Xt{0XuU6YmVl9jbZ#z^N(hvkdNQa91DF6D}jyU--Bpu>*k3YC!VBQ|Q5 z1S?@SW`4*)@YsBIO64X0=Ll5mT_{z4y5#()k^?!y%mjidm1Sqd5m_7Qlw(aFl6dLK z5}XygZ(v}fu@c|l4*vr%yiGpwW4joCQs>K>!{HOy8npGO5z#%swzlfeYuj2PBNu`2 zeVe3@?ufeoQQvRCv=2?)Lv{c5N=O^Ic!82o{%6tDWmv~(Wj_ggK|)z|3bWtm>I#H~ zFEHt$pc`74$!FP{4|Xr3Lrrs|`biH`h(&@b;v25haRmh^#1;iK8efg(n?tPSI)Cgs zy_Kzy7J9) z{3-E9#?FIlc$nznBs+Z!;w@N44aLxEaV$wQadd5x-yk_IRmO4Q+(H~nwNl!9B;P3c zR>|*|e5d3ONp4D>le{4LG09Iz{-Wfs5l5YGOWk`dQO8B8UnUOy2dV!m^$6xg^YC7E z_-~Z@O3CR5fcz=RcM=C~zto?Q+VUvBtI@WOO%cl zTyqrMb$p&vk|Xj7R~&I!!n@fLqb0lpPSID$nGvJqEdH~`ihy{sIXdcyLqOHNreoS! zL4kEs-m--Xz*sDiE*1*7rhSaajf^>FL7>3@Np$Y84E2*m|I5MWjeJDQ(CBn+K_i;Q zdi8>PdkUP+3rwsVjbhZv-=h-1Mx@j`AroHV9)^Q*C{i+wK{5CY9uaP4NHQ`EqPbGm)BDLd^ zE8NFe4EpC)q;L~3kgUGP*T79G5IBuXL}xu%Uk3FVuu*+D`t|yPxnO2F+-tos(%1?Y hhfKNDUV+G7#bo!AAc^u2QT`zAIL3X$^Z1>@{SCbUH{JjM diff --git a/obj/drivers/keyboard.o b/obj/drivers/keyboard.o deleted file mode 100644 index 8c8fbdcb870a1116c20ae511c2cd4be0dcca572c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12648 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


%Rqu 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