From 14decdd70530e22a583b04e84bebbc9cf6310397 Mon Sep 17 00:00:00 2001 From: boreddevnl Date: Wed, 15 Apr 2026 11:00:06 +0200 Subject: [PATCH] DOC: Update README.md --- README.md | 2 +- build.log | 286 ------------------------------------------------------ disk.img | Bin 67108864 -> 67108864 bytes 3 files changed, 1 insertion(+), 287 deletions(-) delete mode 100644 build.log diff --git a/README.md b/README.md index bb58624..6997e8c 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ BoredOS is a x86_64 operating system featuring a custom Desktop Environment (DE) * **Multiboot2 Compliant:** Bootable on real hardware and modern emulators. * **Kernel Core:** Interrupt Descriptor Table (IDT) management and a robust syscall interface. * **Filesystem:** Full **FAT32** support for persistent and in-memory storage. -* **Networking:** Includes the lwIP networking stack. +* **Networking:** Includes the lwIP networking stack and a basic web browser. ### Graphical User Interface * **BoredWM:** A custom Window Manager with drag-and-drop, mouse-centered interaction. diff --git a/build.log b/build.log deleted file mode 100644 index 4950f65..0000000 --- a/build.log +++ /dev/null @@ -1,286 +0,0 @@ -mkdir -p build -mkdir -p build -nasm -f elf64 src/arch/boot.asm -o build/boot.o -nasm -f elf64 src/arch/gdt_asm.asm -o build/gdt_asm.o -nasm -f elf64 src/arch/interrupts.asm -o build/interrupts.o -nasm -f elf64 src/arch/process_asm.asm -o build/process_asm.o -nasm -f elf64 src/arch/syscalls.asm -o build/syscalls.o -nasm -f elf64 src/arch/test_syscall.asm -o build/test_syscall.o -nasm -f elf64 src/arch/user_test.asm -o build/user_test.o -Building Limine host utility... -make[1]: Nothing to be done for `all'. -mkdir -p build/ -mkdir -p build/ -mkdir -p build/ -mkdir -p build/ -mkdir -p build/ -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/core/kutils.c -o build/kutils.o -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/core/main.c -o build/main.o -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/core/version.c -o build/version.o -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/sys/elf.c -o build/elf.o -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/core/platform.c -o build/platform.o -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/core/panic.c -o build/panic.o -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/sys/idt.c -o build/idt.o -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/sys/gdt.c -o build/gdt.o -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/sys/kernel_subsystem.c -o build/kernel_subsystem.o -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/sys/lapic.c -o build/lapic.o -src/sys/idt.c: In function 'pic_remap': -src/sys/idt.c:120:17: warning: variable 'a2' set but not used [-Wunused-but-set-variable] - 120 | uint8_t a1, a2; - | ^~ -src/sys/idt.c:120:13: warning: variable 'a1' set but not used [-Wunused-but-set-variable] - 120 | uint8_t a1, a2; - | ^~ -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/sys/module_manager.c -o build/module_manager.o -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/sys/process.c -o build/process.o -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/sys/smp.c -o build/smp.o -mkdir -p build/ -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/sys/syscall.c -o build/syscall.o -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/sys/sysfs_init.c -o build/sysfs_init.o -src/sys/smp.c: In function 'smp_init': -src/sys/smp.c:171:14: warning: variable 'bsp_index' set but not used [-Wunused-but-set-variable] - 171 | uint32_t bsp_index = 0; - | ^~~~~~~~~ -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/sys/work_queue.c -o build/work_queue.o -mkdir -p build/ -src/sys/sysfs_init.c:11:13: warning: 'sys_itoa' defined but not used [-Wunused-function] - 11 | static void sys_itoa(int n, char *s) { - | ^~~~~~~~ -mkdir -p build/ -src/sys/syscall.c: In function 'syscall_handler_inner': -src/sys/syscall.c:493:28: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] - 493 | float scale = *(float*)&scale_bits; - | ^~~~~~~~~~~~~~~~~~~ -src/sys/syscall.c:561:28: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] - 561 | float scale = *(float*)&scale_bits; - | ^~~~~~~~~~~~~~~~~~~ -src/sys/syscall.c:569:28: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] - 569 | float slope = *(float*)&slope_bits; - | ^~~~~~~~~~~~~~~~~~~ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/mem/memory_manager.c -o build/memory_manager.o -src/sys/syscall.c:695:21: warning: unused variable 'win' [-Wunused-variable] - 695 | Window *win = (Window *)arg2; - | ^~~ -src/sys/syscall.c:725:28: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] - 725 | float scale = *(float*)&scale_bits; - | ^~~~~~~~~~~~~~~~~~~ -src/sys/syscall.c:762:28: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] - 762 | float scale = *(float*)&scale_bits; - | ^~~~~~~~~~~~~~~~~~~ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/mem/paging.c -o build/paging.o -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/mem/vm.c -o build/vm.o -mkdir -p build/ -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/dev/disk_manager.c -o build/disk_manager.o -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/dev/ahci.c -o build/ahci.o -mkdir -p build/ -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/dev/pci.c -o build/pci.o -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/dev/ps2.c -o build/ps2.o -src/dev/pci.c: In function 'pci_enumerate_devices': -src/dev/pci.c:52:31: warning: comparison is always true due to limited range of data type [-Wtype-limits] - 52 | for (uint8_t bus = 0; bus < 256 && count < max_devices; bus++) { - | ^ -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/dev/rtc.c -o build/rtc.o -src/dev/rtc.c: In function 'rtc_get_datetime': -src/dev/rtc.c:28:13: warning: unused variable 'last_century' [-Wunused-variable] - 28 | uint8_t last_century; - | ^~~~~~~~~~~~ -src/dev/rtc.c:21:13: warning: unused variable 'century' [-Wunused-variable] - 21 | uint8_t century; - | ^~~~~~~ -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/net/lwip_port.c -o build/lwip_port.o -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/net/network.c -o build/network.o -mkdir -p build/ -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/net/nic/e1000.c -o build/e1000.o -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/net/nic/nic.c -o build/nic.o -src/net/network.c: In function 'network_dhcp_acquire': -src/net/network.c:186:9: warning: unused variable 'loops' [-Wunused-variable] - 186 | int loops = 0; - | ^~~~~ -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/net/nic/nic_netif.c -o build/nic_netif.o -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/net/nic/rtl8111.c -o build/rtl8111.o -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/net/nic/rtl8139.c -o build/rtl8139.o -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/net/nic/virtio_net.c -o build/virtio_net.o -mkdir -p build/ -src/net/network.c: In function 'network_init': -src/net/network.c:93:9: warning: 'ip.bytes[0]' may be used uninitialized [-Wmaybe-uninitialized] - 93 | k_itoa(ip.bytes[0], buf); serial_write(buf); serial_write("."); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -src/net/network.c:88:24: note: 'ip.bytes[0]' was declared here - 88 | ipv4_address_t ip; - | ^~ -src/net/network.c:94:9: warning: 'ip.bytes[1]' may be used uninitialized [-Wmaybe-uninitialized] - 94 | k_itoa(ip.bytes[1], buf); serial_write(buf); serial_write("."); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -src/net/network.c:88:24: note: 'ip.bytes[1]' was declared here - 88 | ipv4_address_t ip; - | ^~ -src/net/network.c:95:9: warning: 'ip.bytes[2]' may be used uninitialized [-Wmaybe-uninitialized] - 95 | k_itoa(ip.bytes[2], buf); serial_write(buf); serial_write("."); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -src/net/network.c:88:24: note: 'ip.bytes[2]' was declared here - 88 | ipv4_address_t ip; - | ^~ -src/net/network.c:96:9: warning: 'ip.bytes[3]' may be used uninitialized [-Wmaybe-uninitialized] - 96 | k_itoa(ip.bytes[3], buf); serial_write(buf); serial_write("\n"); - | ^~~~~~~~~~~~~~~~~~~~~~~~ -src/net/network.c:88:24: note: 'ip.bytes[3]' was declared here - 88 | ipv4_address_t ip; - | ^~ -src/net/nic/rtl8111.c: In function 'rtl8111_init': -src/net/nic/rtl8111.c:67:14: warning: unused variable 'bar2' [-Wunused-variable] - 67 | uint32_t bar2 = pci_read_config(pci_dev->bus, pci_dev->device, pci_dev->function, 0x18); - | ^~~~ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/fs/fat32.c -o build/fat32.o -mkdir -p build/ -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/fs/procfs.c -o build/procfs.o -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/fs/sysfs.c -o build/sysfs.o -src/fs/fat32.c: In function 'realfs_delete_from_vol': -src/fs/fat32.c:1110:14: warning: variable 'entry_offset' set but not used [-Wunused-but-set-variable] - 1110 | uint32_t entry_offset = 0; - | ^~~~~~~~~~~~ -src/fs/fat32.c:1109:14: warning: variable 'entry_sector' set but not used [-Wunused-but-set-variable] - 1109 | uint32_t entry_sector = 0; - | ^~~~~~~~~~~~ -src/fs/sysfs.c: In function 'sysfs_open': -src/fs/sysfs.c:12:31: warning: unused parameter 'fs_private' [-Wunused-parameter] - 12 | static void* sysfs_open(void *fs_private, const char *path, const char *mode) { - | ~~~~~~^~~~~~~~~~ -src/fs/sysfs.c:12:73: warning: unused parameter 'mode' [-Wunused-parameter] - 12 | static void* sysfs_open(void *fs_private, const char *path, const char *mode) { - | ~~~~~~~~~~~~^~~~ -src/fs/sysfs.c: In function 'sysfs_close': -src/fs/sysfs.c:43:31: warning: unused parameter 'fs_private' [-Wunused-parameter] - 43 | static void sysfs_close(void *fs_private, void *handle) { - | ~~~~~~^~~~~~~~~~ -src/fs/sysfs.c: In function 'sysfs_read': -src/fs/sysfs.c:47:29: warning: unused parameter 'fs_private' [-Wunused-parameter] - 47 | static int sysfs_read(void *fs_private, void *handle, void *buf, int size) { - | ~~~~~~^~~~~~~~~~ -src/fs/sysfs.c: In function 'sysfs_write': -src/fs/sysfs.c:56:30: warning: unused parameter 'fs_private' [-Wunused-parameter] - 56 | static int sysfs_write(void *fs_private, void *handle, const void *buf, int size) { - | ~~~~~~^~~~~~~~~~ -src/fs/sysfs.c: In function 'sysfs_readdir': -src/fs/sysfs.c:86:49: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare] - 86 | if (path_len == 0 || (k_strlen(s->name) > path_len && k_strncmp(s->name, path, path_len) == 0 && s->name[path_len] == '/')) { - | ^ -src/fs/sysfs.c:65:32: warning: unused parameter 'fs_private' [-Wunused-parameter] - 65 | static int sysfs_readdir(void *fs_private, const char *path, vfs_dirent_t *entries, int max) { - | ~~~~~~^~~~~~~~~~ -src/fs/sysfs.c: In function 'sysfs_exists': -src/fs/sysfs.c:142:31: warning: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Wsign-compare] - 142 | if (k_strlen(s->name) > path_len && k_strncmp(s->name, path, path_len) == 0 && s->name[path_len] == '/') return true; - | ^ -src/fs/sysfs.c:116:32: warning: unused parameter 'fs_private' [-Wunused-parameter] - 116 | static bool sysfs_exists(void *fs_private, const char *path) { - | ~~~~~~^~~~~~~~~~ -src/fs/procfs.c: In function 'procfs_open': -src/fs/procfs.c:15:25: warning: unused parameter 'fs_private' [-Wunused-parameter] - 15 | void* procfs_open(void *fs_private, const char *path, const char *mode) { - | ~~~~~~^~~~~~~~~~ -src/fs/procfs.c:15:67: warning: unused parameter 'mode' [-Wunused-parameter] - 15 | void* procfs_open(void *fs_private, const char *path, const char *mode) { - | ~~~~~~~~~~~~^~~~ -src/fs/procfs.c: In function 'procfs_close': -src/fs/procfs.c:50:25: warning: unused parameter 'fs_private' [-Wunused-parameter] - 50 | void procfs_close(void *fs_private, void *handle) { - | ~~~~~~^~~~~~~~~~ -src/fs/procfs.c: In function 'procfs_read': -src/fs/procfs.c:54:23: warning: unused parameter 'fs_private' [-Wunused-parameter] - 54 | int procfs_read(void *fs_private, void *handle, void *buf, int size) { - | ~~~~~~^~~~~~~~~~ -src/fs/procfs.c: In function 'procfs_write': -src/fs/procfs.c:178:24: warning: unused parameter 'fs_private' [-Wunused-parameter] - 178 | int procfs_write(void *fs_private, void *handle, const void *buf, int size) { - | ~~~~~~^~~~~~~~~~ -src/fs/procfs.c: In function 'procfs_readdir': -src/fs/procfs.c:200:26: warning: unused parameter 'fs_private' [-Wunused-parameter] - 200 | int procfs_readdir(void *fs_private, const char *path, vfs_dirent_t *entries, int max) { - | ~~~~~~^~~~~~~~~~ -src/fs/procfs.c: In function 'procfs_exists': -src/fs/procfs.c:241:26: warning: unused parameter 'fs_private' [-Wunused-parameter] - 241 | bool procfs_exists(void *fs_private, const char *path) { - | ~~~~~~^~~~~~~~~~ -src/fs/procfs.c: In function 'procfs_is_dir': -src/fs/procfs.c:264:26: warning: unused parameter 'fs_private' [-Wunused-parameter] - 264 | bool procfs_is_dir(void *fs_private, const char *path) { - | ~~~~~~^~~~~~~~~~ -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/fs/tar.c -o build/tar.o -mkdir -p build/ -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/fs/vfs.c -o build/vfs.o -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/wm/cmd.c -o build/cmd.o -mkdir -p build/ -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/wm/explorer.c -o build/explorer.o -src/wm/cmd.c: In function 'internal_cmd_cd': -src/wm/cmd.c:1014:13: error: too few arguments to function 'vfs_normalize_path'; expected 3, have 2 - 1014 | vfs_normalize_path(full_path, normalized_path); - | ^~~~~~~~~~~~~~~~~~ -In file included from src/wm/cmd.c:11: -src/fs/vfs.h:111:6: note: declared here - 111 | void vfs_normalize_path(const char *cwd, const char *path, char *normalized); - | ^~~~~~~~~~~~~~~~~~ -mkdir -p build/ -make: *** [build/cmd.o] Error 1 -make: *** Waiting for unfinished jobs.... -x86_64-elf-gcc -g -O2 -pipe -Wall -Wextra -std=gnu11 -ffreestanding -fno-stack-protector -fno-stack-check -fno-lto -fPIE -m64 -march=x86-64 -msse -msse2 -mstackrealign -mno-red-zone -Isrc -Isrc/net/lwip -Isrc/core -Isrc/sys -Isrc/mem -Isrc/dev -Isrc/net -Isrc/net/nic -Isrc/fs -Isrc/wm -c src/wm/font_manager.c -o build/font_manager.o -src/wm/explorer.c: In function 'explorer_draw_file_icon': -src/wm/explorer.c:885:73: warning: unused parameter 'color' [-Wunused-parameter] - 885 | static void explorer_draw_file_icon(int x, int y, bool is_dir, uint32_t color, const char *filename, const char *current_path) { - | ~~~~~~~~~^~~~~ -src/wm/explorer.c: In function 'explorer_paint': -src/wm/explorer.c:922:15: warning: unused variable 'dirty' [-Wunused-variable] - 922 | DirtyRect dirty = graphics_get_dirty_rect(); - | ^~~~~ -In file included from src/wm/font_manager.c:4: -src/wm/stb_truetype.h: In function 'stbtt_FreeShape': -src/wm/stb_truetype.h:2672:54: warning: unused parameter 'info' [-Wunused-parameter] - 2672 | STBTT_DEF void stbtt_FreeShape(const stbtt_fontinfo *info, stbtt_vertex *v) - | ~~~~~~~~~~~~~~~~~~~~~~^~~~ -src/wm/stb_truetype.h: In function 'stbtt__hheap_alloc': -src/wm/stb_truetype.h:2770:70: warning: unused parameter 'userdata' [-Wunused-parameter] - 2770 | static void *stbtt__hheap_alloc(stbtt__hheap *hh, size_t size, void *userdata) - | ~~~~~~^~~~~~~~ -src/wm/stb_truetype.h: In function 'stbtt__hheap_cleanup': -src/wm/stb_truetype.h:2797:58: warning: unused parameter 'userdata' [-Wunused-parameter] - 2797 | static void stbtt__hheap_cleanup(stbtt__hheap *hh, void *userdata) - | ~~~~~~^~~~~~~~ -src/wm/stb_truetype.h: In function 'stbtt_FlattenCurves': -src/wm/stb_truetype.h:3618:154: warning: unused parameter 'userdata' [-Wunused-parameter] - 3618 | static stbtt__point *stbtt_FlattenCurves(stbtt_vertex *vertices, int num_verts, float objspace_flatness, int **contour_lengths, int *num_contours, void *userdata) - | ~~~~~~^~~~~~~~ -src/wm/stb_truetype.h: In function 'stbtt_FreeBitmap': -src/wm/stb_truetype.h:3708:62: warning: unused parameter 'userdata' [-Wunused-parameter] - 3708 | STBTT_DEF void stbtt_FreeBitmap(unsigned char *bitmap, void *userdata) - | ~~~~~~^~~~~~~~ -src/wm/stb_truetype.h: In function 'stbtt_FreeSDF': -src/wm/stb_truetype.h:4767:59: warning: unused parameter 'userdata' [-Wunused-parameter] - 4767 | STBTT_DEF void stbtt_FreeSDF(unsigned char *bitmap, void *userdata) - | ~~~~~~^~~~~~~~ -src/wm/font_manager.c: In function 'font_manager_load': -src/wm/font_manager.c:112:9: warning: unused variable 'read' [-Wunused-variable] - 112 | int read = fat32_read(fh, buffer, fsize); - | ^~~~ diff --git a/disk.img b/disk.img index ef07f031f484412105502f271cef0b9396f08a92..3ab0d1194d408754ac96cc0d3c16af64d9afd874 100644 GIT binary patch delta 4128 zcmYk*Wl)!27lmPdAc~FMie1=+t=O%Pt*F@D-C!&g5nEL3Zbfw4-QC^Y-TmJF=dCq! z&6zo8o&9YG1qJy8VZ&2T&$6#vZUIrRJX4l%#gFpx4@@5w*gBKn$k2!}p%E^)!voRa ziRfEGBVr8J|H?Dt$?=jCQ%)>7vE{^(6ITwG@#T2SNgyYooJ4XG%Sj?9shnhTlFLaU zC#9TJa#G7lBPXq#bmsUZ4RG%}Fg*D>pJCp82ZjYS_R8eu=H}nZt&m&W@MW>Q{jwEy z%ll7;<@X_O#s0R!0^HpGo=v>+{-@n8JbG+zzjXg?7x<@L{Quicy(&+3Ew&9lE_dJY zUVJ2p^2ht!bMoE!xfdRHixzpUz9j{2^ zt)Z2!hXeQdUYH zCfOL-SlKvPh-|zpR5n2tCYvamB%3UoBAY6kCYvssAq$tyl+BXOmPN?s$mYuC$>z%z z$QH^L$rj6&$d<~M$(GAj$X3c$$yUqO$kxi%$=1s@$RcGMWl^$CvduD+ZINx2ZIf-6 z?U3!1?UL=5?UC)3?UU`79grQA9g-cE9g!WC9g`iGosgZBosylFospfDos*rHU65Ur zU6NgvU6EatU6Wmx-H_ds-ICpw-I3ju-ILvyJ&-+=J(4|^J&`??J(E3`y^y_>y^_6_ zy^+0@y_3C{eUN>WeUg2aeUW{YeUp8c{gC~X{gVBb{RuHwn7QB%4@83}q9X>p5EHQw z8*va9@em*0NPvV$gv3aKq)3M3NP(0{h15ucv`7aZq(=s1L?&cL7Gy;>WJeCLL@)G4 zAM`~(^v3`U#2^gD5DdjI3`Y=xF#;no3Zo&6!B~t#2*x866A*@pn1sogf~lB>>6n3V z%)~6rMg-cP#W|eE1zf}>T*eh##Wh^V4cx>n z+{PW;#Xa1|13bhdJjN3|#WOs|3%tZDyv7^6#XG#m2YkdQe8v}i#W#G%5B$V0{Kg+w zh`F==aEAw?!4uID173)UScr`{h>LiL4{szuLL@?BBtcRnLvo}*N~A(+q(NGwgAdXp z12Q5LG9wGJA{(+J2Xev}xsV%qkQe!o9|celg-{qp;D@3phT4JD1)-_M>&*7 z1yn>OR7Mq4MKx4M4b(&})J7dRsEc~2j|OOnMre#CXo>(dLvyr1AX=goTB8lxq8-|! z13ID;I-?7^q8qxS2YR9xdZQ2eq96KW00v?Z24e_@Vi<-a2*DVEkr;*15XN9E#vugb z5sC>2!$eHNWK6+SOv7}{KsaV%7G@&?b1)b4FdqxB5R0%FORyBnupBF}605KpYp@pU zupS!_iH(TDCTxab3$|h#wqpl&Vi$H}5B6do_TvB!;t&qw2#(?yj^hMQ;uKEf49?;l z&f@|u;u0?73a;WBuHy!7;udb>4({R}?&AR-;t?L>37+B^p5p~x;uT)w4c_7%-s1y4 z;uAjO3%=qTzT*de;un77k9&xDu>Np|2cp3f(Gde)h>2K;jW~#lc!&>gBtSwWLSiIA zQY1riq(DlfLTaQzTBL&y(jx;hA`>zr3$h{`vLgp_!WX%a8+niy`H&w4P!NSs7)9WR zq9}&qD1nkFh0-X4vhYValt%?rL?u*46;wqvR7VZeL@m@t9XP0qdZ>>EXoyB=j3#J` z05n5$v_K$Qq7_=B4cej|+M@$Hq7yo!3%a5kx}yhrq8ECj5Bj1X`eOhFVh{#n2!>)9 zh9d~U7=e)(h0zekU@XQV1mh8k2?)bPOu}SL!BkAcbj(0FW?~j*BLZ_U7xOS53$PH2 zuoz3Q6w9z2E3gu)uo`Qy7VEGc8xV<&h{7gphG7e~VjH$&2X2Y%ugetWF5KOR;81=X}(_y7O^ delta 4962 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 F{{bt+1>pby