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 ef07f03..3ab0d11 100644 Binary files a/disk.img and b/disk.img differ