diff --git a/.github/workflows/makefile.yml b/.github/workflows/makefile.yml index 78b5fa4d2a..9003a97d05 100644 --- a/.github/workflows/makefile.yml +++ b/.github/workflows/makefile.yml @@ -136,7 +136,7 @@ jobs: sudo apt-get update sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 build-essential bison flex libgmp3-dev libmpc-dev libmpfr-dev texinfo -y make --quiet -C tools do_limine - make --quiet -C Modules prepare + make --quiet -C Drivers prepare make --quiet -C Userspace prepare make --quiet -C Lynx prepare make --quiet -C Kernel prepare @@ -159,7 +159,7 @@ jobs: run: | make build_lynx make build_userspace - make build_modules + make build_drivers make build_kernel make build_userspace @@ -180,7 +180,7 @@ jobs: sudo apt-get update sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make meson gcc-10 g++-10 gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y make --quiet -C tools do_limine - make --quiet -C Modules prepare + make --quiet -C Drivers prepare make --quiet -C Userspace prepare make --quiet -C Lynx prepare make --quiet -C Kernel prepare @@ -237,7 +237,7 @@ jobs: sudo apt-get update sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make meson gcc-10 g++-10 gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y make --quiet -C tools do_limine - make --quiet -C Modules prepare + make --quiet -C Drivers prepare make --quiet -C Userspace prepare make --quiet -C Lynx prepare make --quiet -C Kernel prepare @@ -295,7 +295,7 @@ jobs: sudo apt-get update sudo apt-get install rustc xorriso mtools genisoimage ovmf nasm doxygen make meson gcc-10 g++-10 gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 -y make --quiet -C tools do_limine - make --quiet -C Modules prepare + make --quiet -C Drivers prepare make --quiet -C Userspace prepare make --quiet -C Lynx prepare make --quiet -C Kernel prepare diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2c620632a1..8202cc9f30 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -83,7 +83,7 @@ build64: script: - apt-get update && apt-get install -y rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 - make --quiet -C tools do_limine - - make --quiet -C Modules prepare + - make --quiet -C Drivers prepare - make --quiet -C Userspace prepare - make --quiet -C Lynx prepare - make --quiet -C Kernel prepare @@ -107,7 +107,7 @@ build32: script: - apt-get update && apt-get install -y rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 - make --quiet -C tools do_limine - - make --quiet -C Modules prepare + - make --quiet -C Drivers prepare - make --quiet -C Userspace prepare - make --quiet -C Lynx prepare - make --quiet -C Kernel prepare @@ -130,7 +130,7 @@ buildarm64: script: - apt-get update && apt-get install -y rustc xorriso mtools genisoimage ovmf nasm doxygen make gcc-mingw-w64-x86-64 gcc-mingw-w64-i686 mingw-w64 - make --quiet -C tools do_limine - - make --quiet -C Modules prepare + - make --quiet -C Drivers prepare - make --quiet -C Userspace prepare - make --quiet -C Lynx prepare - make --quiet -C Kernel prepare diff --git a/.gitmodules b/.gitmodules index 8746c40439..1e0dba077d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,5 +8,5 @@ path = Userspace url = https://github.com/Fennix-Project/Userspace.git [submodule "Modules"] - path = Modules - url = https://github.com/Fennix-Project/Modules.git + path = Drivers + url = https://github.com/Fennix-Project/Drivers.git diff --git a/Doxyfile b/Doxyfile index 0b033beb53..8acf460b81 100644 --- a/Doxyfile +++ b/Doxyfile @@ -864,7 +864,7 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = Kernel Lynx Userspace tools/Doxygen_README.md +INPUT = Kernel Lynx Userspace Drivers tools/doxymds/main.md # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses @@ -1064,7 +1064,7 @@ FILTER_SOURCE_PATTERNS = # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. -USE_MDFILE_AS_MAINPAGE = tools/Doxygen_README.md +USE_MDFILE_AS_MAINPAGE = tools/doxymds/main.md #--------------------------------------------------------------------------- # Configuration options related to source browsing diff --git a/Drivers b/Drivers new file mode 160000 index 0000000000..da4a6317ea --- /dev/null +++ b/Drivers @@ -0,0 +1 @@ +Subproject commit da4a6317ea49c46a0ba7527a2387cf5e7169541e diff --git a/Fennix Modules.code-workspace b/Fennix Drivers.code-workspace similarity index 78% rename from Fennix Modules.code-workspace rename to Fennix Drivers.code-workspace index 6495f46d65..922597e8cd 100644 --- a/Fennix Modules.code-workspace +++ b/Fennix Drivers.code-workspace @@ -1,7 +1,7 @@ { "folders": [ { - "path": "./Modules" + "path": "./Drivers" } ], "settings": { @@ -14,6 +14,7 @@ "Cardbus", "CFIEN", "cmdret", + "cmpb", "ECTRL", "EEPROM", "Fennix", @@ -25,6 +26,7 @@ "inportw", "INTX", "KAPI", + "LEDS", "LPBK", "LSTA", "mminb", @@ -87,8 +89,23 @@ "TXDESCLEN", "TXDESCLO", "TXDESCTAIL", + "TYPEMATIC", + "ubit", "Virtio", "Wmissing" - ] + ], + "files.associations": { + "*.su": "tsv", + "driver.h": "c", + "base.h": "c", + "types.h": "c", + "syscall.h": "c", + "aip.h": "c", + "input.h": "c", + "errno.h": "c", + "io.h": "c", + "rtl8139.hpp": "c", + "net.h": "c" + } } } diff --git a/Fennix Kernel.code-workspace b/Fennix Kernel.code-workspace index fadd55cd47..1b2c55cfb4 100644 --- a/Fennix Kernel.code-workspace +++ b/Fennix Kernel.code-workspace @@ -46,7 +46,16 @@ "utility": "cpp", "algorithm": "cpp", "functional": "cpp", - "stdio.h": "c" + "stdio.h": "c", + "string": "cpp", + "list": "cpp", + "stdexcept": "cpp", + "unistd.h": "c", + "unordered_map": "cpp", + "sched.h": "c", + "mman.h": "c", + "string.h": "c", + "macro.hpp": "c" }, "cSpell.words": [ "AABBCC", @@ -71,6 +80,8 @@ "ARRAYSZ", "auxv", "BADRAM", + "BGRT", + "bimi", "binfo", "biosdev", "BIST", @@ -105,6 +116,7 @@ "daifclr", "daifset", "DAPI", + "DBGP", "DEBUGCTL", "defragment", "dfdesc", @@ -115,12 +127,14 @@ "Drivermemset", "Driversprintf", "drvdir", + "DRVER", "DSDT", "DUID", "dynstr", "dynsym", "EBDA", "edid", + "EEPROM", "EFER", "Ehdr", "ehsize", @@ -156,6 +170,7 @@ "FSGSBASE", "fxrstor", "fxsave", + "Gamepad", "Gameport", "geopbyte", "GETVERSION", @@ -189,8 +204,10 @@ "KAPI", "KAPIPCI", "kcalloc", + "kcon", "kernelctl", "kfree", + "klog", "kmalloc", "kproc", "krealloc", @@ -208,6 +225,7 @@ "MADT", "MADTIO", "malloc", + "MCFG", "memdbg", "memmap", "memsz", @@ -243,6 +261,7 @@ "MWAIT", "NIDENT", "NOBITS", + "nullfd", "nullptr", "objptr", "OEMID", @@ -278,20 +297,24 @@ "PHYSMASK", "Pico", "PINBASED", + "Pipefd", "PKRU", "PLTGOT", "PLTREL", "PLTRELSZ", "POPCNT", + "PORTHB", "powerline", "Prefetchable", "PREINIT", "PROCBASED", "PTMX", + "ptys", "pushfl", "pushfq", "Raphson", "RARP", + "RBSTART", "rdmsr", "RDRAND", "rdseed", @@ -304,6 +327,7 @@ "RELASZ", "RELSZ", "Rodata", + "RPCI", "RRGGBB", "RSDP", "RSDT", @@ -323,6 +347,7 @@ "showbuf", "shstrndx", "sidt", + "sigsetsize", "SIVR", "SMAP", "SMBASE", @@ -331,6 +356,8 @@ "SMRR", "SMXE", "SNTP", + "SRAT", + "SSDT", "sspt", "SSSE", "stac", @@ -345,6 +372,7 @@ "Tamsyn", "targp", "TCCR", + "TCLO", "TCPA", "TDCR", "TEXIT", @@ -352,6 +380,7 @@ "Thrd", "TICR", "tlbi", + "Touchpad", "tracepagetable", "tskdbg", "ttbr", @@ -365,6 +394,7 @@ "UMIP", "UMWAIT", "UNMAP", + "Unmaskable", "Unreserving", "Unswap", "unsynchronized", @@ -381,6 +411,7 @@ "Virtio", "VMCS", "VMFUNC", + "vmouse", "VMXE", "VNNI", "VNNIW", @@ -388,6 +419,7 @@ "VPID", "VPOKE", "VPOPCNTDQ", + "WAET", "weakrefalias", "Wignored", "Wmissing", diff --git a/Fennix Userspace.code-workspace b/Fennix Userspace.code-workspace index 49edf7091a..23faac29f7 100644 --- a/Fennix Userspace.code-workspace +++ b/Fennix Userspace.code-workspace @@ -39,7 +39,12 @@ "syscall.h": "c", "stdint.h": "c", "setjmp.h": "c", - "limits.h": "c" + "limits.h": "c", + "fcntl.h": "c", + "pty.h": "c", + "string.h": "c", + "time.h": "c", + "reboot.h": "c" }, "cSpell.words": [ "auxv", diff --git a/Kernel b/Kernel index 889e1522a3..96daa43d38 160000 --- a/Kernel +++ b/Kernel @@ -1 +1 @@ -Subproject commit 889e1522a36576822aa63598e825dd971aa204e9 +Subproject commit 96daa43d3880126119bf775b3c5400aae7764392 diff --git a/Makefile b/Makefile index 043eee1b9f..fd819fa8aa 100644 --- a/Makefile +++ b/Makefile @@ -32,7 +32,10 @@ QEMUFLAGS += -device vmware-svga -M q35 \ -device ide-hd,drive=disk,bus=ahci.1 \ -audiodev pa,id=pa1,server=/run/user/1000/pulse/native \ -machine pcspk-audiodev=pa1 \ - -device AC97,audiodev=pa1 + -device AC97,audiodev=pa1 \ + -device intel-hda \ + -device ich9-intel-hda \ + -acpitable file=tools/SSDT1.dat else ifeq ($(OSARCH), i386) QEMUFLAGS += -M q35 \ -usb \ @@ -49,7 +52,10 @@ QEMUFLAGS += -M q35 \ -hda $(OSNAME).iso \ -audiodev pa,id=pa1,server=/run/user/1000/pulse/native \ -machine pcspk-audiodev=pa1 \ - -device AC97,audiodev=pa1 + -device AC97,audiodev=pa1 \ + -device intel-hda \ + -device ich9-intel-hda \ + -acpitable file=tools/SSDT1.dat else ifeq ($(OSARCH), aarch64) QEMUFLAGS += -M raspi3b \ -cpu cortex-a57 \ @@ -57,7 +63,8 @@ QEMUFLAGS += -M raspi3b \ -serial file:profiler.log \ -serial file:serial3.dmp \ -serial file:serial4.dmp \ - -kernel $(OSNAME).img + -kernel $(OSNAME).img \ + -acpitable file=tools/SSDT1.dat endif doxygen: @@ -66,7 +73,7 @@ doxygen: doxygen Kernel/Doxyfile doxygen Lynx/Doxyfile doxygen Userspace/Doxyfile - doxygen Modules/Doxyfile + doxygen Drivers/Doxyfile qemu_vdisk: ifneq (,$(wildcard ./qemu-disk.img)) @@ -81,9 +88,9 @@ tools: make --quiet -C Kernel prepare make --quiet -C Lynx prepare make --quiet -C Userspace prepare - make --quiet -C Modules prepare + make --quiet -C Drivers prepare -build: build_lynx build_kernel build_userspace build_modules build_image +build: build_lynx build_kernel build_userspace build_drivers build_image dump: make --quiet -C Kernel dump @@ -109,24 +116,24 @@ ifeq ($(BUILD_USERSPACE), 1) make $(MAKE_QUIET_FLAG) -C Userspace build endif -build_modules: -ifeq ($(BUILD_MODULES), 1) - make $(MAKE_QUIET_FLAG) -C Modules build +build_drivers: +ifeq ($(BUILD_DRIVERS), 1) + make $(MAKE_QUIET_FLAG) -C Drivers build endif build_image: mkdir -p iso_tmp_data mkdir -p initrd_tmp_data cp -r initrd/* initrd_tmp_data/ -ifeq ($(BUILD_MODULES), 1) - cp -r Modules/out/* initrd_tmp_data/modules/ +ifeq ($(BUILD_DRIVERS), 1) + cp -r Drivers/out/* initrd_tmp_data/usr/lib/drivers/ endif ifeq ($(BUILD_USERSPACE), 1) cp -r Userspace/out/* initrd_tmp_data/ endif # tar czf initrd.tar.gz -C initrd_tmp_data/ ./ --format=ustar tar cf initrd.tar.gz -C initrd_tmp_data/ ./ --format=ustar - cp Kernel/kernel.fsys initrd.tar.gz \ + cp Kernel/fennix.elf initrd.tar.gz \ iso_tmp_data/ ifeq ($(BOOTLOADER), lynx) cp tools/lynx.cfg Lynx/loader.bin Lynx/efi-loader.bin iso_tmp_data/ @@ -137,10 +144,17 @@ ifeq ($(BOOTLOADER), lynx) iso_tmp_data -o $(OSNAME).iso endif ifeq ($(BOOTLOADER), limine) - cp tools/limine.cfg $(LIMINE_FOLDER)/limine.sys $(LIMINE_FOLDER)/limine-cd.bin $(LIMINE_FOLDER)/limine-cd-efi.bin iso_tmp_data/ - xorriso -as mkisofs -quiet -b limine-cd.bin \ + cp tools/limine.cfg $(LIMINE_FOLDER)/limine-bios.sys \ + $(LIMINE_FOLDER)/limine-bios-cd.bin \ + $(LIMINE_FOLDER)/limine-uefi-cd.bin \ + iso_tmp_data/ + mkdir -p iso_tmp_data/EFI/BOOT + cp $(LIMINE_FOLDER)/BOOTX64.EFI \ + $(LIMINE_FOLDER)/BOOTIA32.EFI \ + iso_tmp_data/EFI/BOOT/ + xorriso -as mkisofs -quiet -b limine-bios-cd.bin \ -no-emul-boot -boot-load-size 4 -boot-info-table \ - --efi-boot limine-cd-efi.bin -V FENNIX \ + --efi-boot limine-uefi-cd.bin -V FENNIX \ -efi-boot-part --efi-boot-image --protective-msdos-label \ iso_tmp_data -o $(OSNAME).iso endif @@ -152,7 +166,7 @@ ifeq ($(BOOTLOADER), grub) grub-mkrescue -o $(OSNAME).iso iso_tmp_data endif ifeq ($(OSARCH), aarch64) - $(COMPILER_PATH)/$(COMPILER_ARCH)objcopy Kernel/kernel.fsys -O binary $(OSNAME).img + $(COMPILER_PATH)/$(COMPILER_ARCH)objcopy Kernel/fennix.elf -O binary $(OSNAME).img endif ifeq ($(OSARCH), amd64) @@ -192,12 +206,12 @@ vscode_debug_only: rm -f serial.log profiler.log serial3.dmp serial4.dmp network.dmp parallel.log $(QEMU) -S -gdb tcp::1234 -d int -no-reboot -no-shutdown $(QEMU_UEFI_BIOS) -m 512M $(QEMUFLAGS) $(QEMU_SMP_DBG) -vscode_debug: build_lynx build_kernel build_userspace build_modules build_image vscode_debug_only +vscode_debug: build_lynx build_kernel build_userspace build_drivers build_image vscode_debug_only qemu: qemu_vdisk rm -f serial.log profiler.log serial3.dmp serial4.dmp network.dmp parallel.log -# touch serial.log parallel.log -# x-terminal-emulator -e tail -f serial.log & + touch serial.log parallel.log + # x-terminal-emulator -e tail -f serial.log & # x-terminal-emulator -e tail -f parallel.log & $(QEMU) $(QEMU_UEFI_BIOS) -cpu host $(QEMUFLAGS) $(QEMUHWACCELERATION) $(QEMUMEMORY) $(QEMU_SMP) @@ -213,4 +227,4 @@ clean: make -C Kernel clean make -C Lynx clean make -C Userspace clean - make -C Modules clean + make -C Drivers clean diff --git a/Makefile.conf b/Makefile.conf index 8f1f6ed1f2..a783479469 100644 --- a/Makefile.conf +++ b/Makefile.conf @@ -20,7 +20,7 @@ BOOTLOADER = grub BUILD_KERNEL = 1 BUILD_USERSPACE = 1 -BUILD_MODULES = 1 +BUILD_DRIVERS = 1 QUIET_BUILD = 1 diff --git a/Modules b/Modules deleted file mode 160000 index 2ee57b9756..0000000000 --- a/Modules +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2ee57b9756ac97daf7f6dc5a5d4575a8a97ffc10 diff --git a/Userspace b/Userspace index 17787dbc9b..c685a37c15 160000 --- a/Userspace +++ b/Userspace @@ -1 +1 @@ -Subproject commit 17787dbc9b0ccf366b363e035b3333e1a131719c +Subproject commit c685a37c15adcecf9ba600c81894b4f8e993caca diff --git a/initrd/SymlinkTest b/initrd/SymlinkTest deleted file mode 120000 index 57c7610681..0000000000 --- a/initrd/SymlinkTest +++ /dev/null @@ -1 +0,0 @@ -/Test.txt \ No newline at end of file diff --git a/initrd/etc/boot/1.tga b/initrd/etc/boot/1.tga deleted file mode 100644 index 23aba5996a..0000000000 Binary files a/initrd/etc/boot/1.tga and /dev/null differ diff --git a/initrd/etc/boot/10.tga b/initrd/etc/boot/10.tga deleted file mode 100644 index e91548e9e2..0000000000 Binary files a/initrd/etc/boot/10.tga and /dev/null differ diff --git a/initrd/etc/boot/11.tga b/initrd/etc/boot/11.tga deleted file mode 100644 index 79a69dc05a..0000000000 Binary files a/initrd/etc/boot/11.tga and /dev/null differ diff --git a/initrd/etc/boot/12.tga b/initrd/etc/boot/12.tga deleted file mode 100644 index b5df33b944..0000000000 Binary files a/initrd/etc/boot/12.tga and /dev/null differ diff --git a/initrd/etc/boot/13.tga b/initrd/etc/boot/13.tga deleted file mode 100644 index 8927d5cb0a..0000000000 Binary files a/initrd/etc/boot/13.tga and /dev/null differ diff --git a/initrd/etc/boot/14.tga b/initrd/etc/boot/14.tga deleted file mode 100644 index 85f5fa252e..0000000000 Binary files a/initrd/etc/boot/14.tga and /dev/null differ diff --git a/initrd/etc/boot/15.tga b/initrd/etc/boot/15.tga deleted file mode 100644 index a316c3fa9c..0000000000 Binary files a/initrd/etc/boot/15.tga and /dev/null differ diff --git a/initrd/etc/boot/16.tga b/initrd/etc/boot/16.tga deleted file mode 100644 index ec763223bc..0000000000 Binary files a/initrd/etc/boot/16.tga and /dev/null differ diff --git a/initrd/etc/boot/17.tga b/initrd/etc/boot/17.tga deleted file mode 100644 index af2766fd1e..0000000000 Binary files a/initrd/etc/boot/17.tga and /dev/null differ diff --git a/initrd/etc/boot/18.tga b/initrd/etc/boot/18.tga deleted file mode 100644 index b8dbf03104..0000000000 Binary files a/initrd/etc/boot/18.tga and /dev/null differ diff --git a/initrd/etc/boot/19.tga b/initrd/etc/boot/19.tga deleted file mode 100644 index f14fc3533f..0000000000 Binary files a/initrd/etc/boot/19.tga and /dev/null differ diff --git a/initrd/etc/boot/2.tga b/initrd/etc/boot/2.tga deleted file mode 100644 index 64d9530bd2..0000000000 Binary files a/initrd/etc/boot/2.tga and /dev/null differ diff --git a/initrd/etc/boot/20.tga b/initrd/etc/boot/20.tga deleted file mode 100644 index bd4ab68748..0000000000 Binary files a/initrd/etc/boot/20.tga and /dev/null differ diff --git a/initrd/etc/boot/21.tga b/initrd/etc/boot/21.tga deleted file mode 100644 index 83c7549871..0000000000 Binary files a/initrd/etc/boot/21.tga and /dev/null differ diff --git a/initrd/etc/boot/22.tga b/initrd/etc/boot/22.tga deleted file mode 100644 index 39f5ad2435..0000000000 Binary files a/initrd/etc/boot/22.tga and /dev/null differ diff --git a/initrd/etc/boot/23.tga b/initrd/etc/boot/23.tga deleted file mode 100644 index c0d5cd59ef..0000000000 Binary files a/initrd/etc/boot/23.tga and /dev/null differ diff --git a/initrd/etc/boot/24.tga b/initrd/etc/boot/24.tga deleted file mode 100644 index 8c1d2347d4..0000000000 Binary files a/initrd/etc/boot/24.tga and /dev/null differ diff --git a/initrd/etc/boot/25.tga b/initrd/etc/boot/25.tga deleted file mode 100644 index b4699eb1b5..0000000000 Binary files a/initrd/etc/boot/25.tga and /dev/null differ diff --git a/initrd/etc/boot/26.tga b/initrd/etc/boot/26.tga deleted file mode 100644 index 1a7209d043..0000000000 Binary files a/initrd/etc/boot/26.tga and /dev/null differ diff --git a/initrd/etc/boot/3.tga b/initrd/etc/boot/3.tga deleted file mode 100644 index 7a2664a023..0000000000 Binary files a/initrd/etc/boot/3.tga and /dev/null differ diff --git a/initrd/etc/boot/4.tga b/initrd/etc/boot/4.tga deleted file mode 100644 index 510519680d..0000000000 Binary files a/initrd/etc/boot/4.tga and /dev/null differ diff --git a/initrd/etc/boot/5.tga b/initrd/etc/boot/5.tga deleted file mode 100644 index 31d231c51b..0000000000 Binary files a/initrd/etc/boot/5.tga and /dev/null differ diff --git a/initrd/etc/boot/6.tga b/initrd/etc/boot/6.tga deleted file mode 100644 index 8f8d9c121a..0000000000 Binary files a/initrd/etc/boot/6.tga and /dev/null differ diff --git a/initrd/etc/boot/7.tga b/initrd/etc/boot/7.tga deleted file mode 100644 index d001a9174a..0000000000 Binary files a/initrd/etc/boot/7.tga and /dev/null differ diff --git a/initrd/etc/boot/8.tga b/initrd/etc/boot/8.tga deleted file mode 100644 index 709818f140..0000000000 Binary files a/initrd/etc/boot/8.tga and /dev/null differ diff --git a/initrd/etc/boot/9.tga b/initrd/etc/boot/9.tga deleted file mode 100644 index 085df6946e..0000000000 Binary files a/initrd/etc/boot/9.tga and /dev/null differ diff --git a/initrd/etc/cross/linux b/initrd/etc/cross/linux new file mode 100644 index 0000000000..93b2fcf881 --- /dev/null +++ b/initrd/etc/cross/linux @@ -0,0 +1,6 @@ +[uname] +sysname=Linux +nodename=auto +release=3.2.0-10-generic +version=#10-Ubuntu SMP Mon Jav 1 00:00:00 UTC 0 +machine=auto diff --git a/initrd/modules/config.ini b/initrd/modules/config.ini deleted file mode 100644 index cc70dc6779..0000000000 --- a/initrd/modules/config.ini +++ /dev/null @@ -1,7 +0,0 @@ -[FAKE_API_VERSION] -Enable=0 -Major=0 -Minor=0 -Patch=0 - -[BLACKLIST] diff --git a/initrd/tmp/chars.txt b/initrd/tmp/chars.txt new file mode 100644 index 0000000000..883bc20c82 --- /dev/null +++ b/initrd/tmp/chars.txt @@ -0,0 +1,33 @@ +Hello World! +Bună Lume! +¡Hola Mundo! +Привет, мир! +Selam Dünya! +「こんにちは世界」 +你好世界! +안녕하세요 월드! +مرحبا بالعالم! +Բարեւ աշխարհ! +Γειά σου Κόσμε! +Helló Világ! +Përshendetje Botë! + +------------------ + +ĂăÎîÂâȘșȚț + +ΩŁ€®Ŧ¥←↑↓→ØÞ +ƧЪŊĦ̛̛Ł˝ +«»©¢“‘”’µº×÷ + +ёЁъЪЧчШшЩщЭэ +ЯВЕРТЫУИОП +явертыуиоп +АСДФГХЙКЛ +асдфгхйкл +ЗЬЦЖБНМ +зьцжбнм + +顲³¼⅜±°¿ +ĞğÜü + diff --git a/initrd/tmp/invalid b/initrd/tmp/invalid new file mode 120000 index 0000000000..b638d5e32c --- /dev/null +++ b/initrd/tmp/invalid @@ -0,0 +1 @@ +/foo/bar \ No newline at end of file diff --git a/initrd/tmp/link b/initrd/tmp/link new file mode 120000 index 0000000000..1467aa32aa --- /dev/null +++ b/initrd/tmp/link @@ -0,0 +1 @@ +/tmp/test.txt \ No newline at end of file diff --git a/initrd/test.sh b/initrd/tmp/test.sh similarity index 100% rename from initrd/test.sh rename to initrd/tmp/test.sh diff --git a/initrd/test.txt b/initrd/tmp/test.txt similarity index 100% rename from initrd/test.txt rename to initrd/tmp/test.txt diff --git a/initrd/tmp/.gitkeep b/initrd/usr/lib/drivers/.gitkeep similarity index 100% rename from initrd/tmp/.gitkeep rename to initrd/usr/lib/drivers/.gitkeep diff --git a/initrd/usr/lib/.gitkeep b/initrd/usr/share/.gitkeep similarity index 100% rename from initrd/usr/lib/.gitkeep rename to initrd/usr/share/.gitkeep diff --git a/tools/Doxygen_README.md b/tools/Doxygen_README.md deleted file mode 100644 index c91ec8fdb3..0000000000 --- a/tools/Doxygen_README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Doxygen - -This is a README file for Doxygen. diff --git a/tools/Makefile b/tools/Makefile index c63e2f58e9..9164928a4d 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -2,9 +2,9 @@ WORKING_DIR = $(shell pwd) CROSS_DIR=$(WORKING_DIR)/cross export PATH := $(CROSS_DIR):$(PATH) -QEMU_VERSION = qemu-7.1.0 +QEMU_VERSION = 8.1.2 -all: do_rep do_ep do_fex do_limine clone_all do_binutils_64 do_gcc_64 do_binutils_32 do_gcc_32 do_qemu +all: do_rep do_ep do_limine clone_all do_binutils_64 do_gcc_64 do_binutils_32 do_gcc_32 do_qemu clean: rm -f rep ep fex @@ -17,20 +17,16 @@ do_ep: g++ -w ErrorParser.cpp -o ep chmod +x ep -do_fex: - gcc -w Fex.c -o fex - chmod +x fex - do_limine: - git clone https://github.com/limine-bootloader/limine.git --branch=v4.x-branch-binary --depth=1 + git clone https://github.com/limine-bootloader/limine.git --branch=v6.x-branch-binary --depth=1 clone_all: git clone https://github.com/Fennix-Project/binutils-gdb.git binutils-gdb git clone https://github.com/Fennix-Project/gcc.git gcc - wget https://download.qemu.org/${QEMU_VERSION}.tar.xz - tar xvJf ${QEMU_VERSION}.tar.xz - rm -f ${QEMU_VERSION}.tar.xz - mv ${QEMU_VERSION} qemu + wget https://download.qemu.org/qemu-${QEMU_VERSION}.tar.xz + tar xvJf qemu-${QEMU_VERSION}.tar.xz + rm -f qemu-${QEMU_VERSION}.tar.xz + mv qemu-${QEMU_VERSION} qemu mkdir -p cross mkdir -p qemu mkdir -p build-binutils64 @@ -49,17 +45,25 @@ __clone_all_no_qemu: do_qemu: cd qemu && \ - bash ./configure --target-list=x86_64-softmmu,i386-softmmu,aarch64-softmmu --prefix="$(CROSS_DIR)" --enable-gtk && \ + bash ./configure --target-list=x86_64-softmmu,i386-softmmu,aarch64-softmmu \ + --prefix="$(CROSS_DIR)" \ + --enable-gtk --disable-tools \ + --disable-gio --disable-virtfs --disable-vnc \ + --disable-opengl && \ make -j$(shell nproc) && make install do_binutils_64: cd build-binutils64 && \ - ../binutils-gdb/configure --target=x86_64-fennix --prefix="$(CROSS_DIR)" --with-sysroot --enable-shared --disable-werror && \ + ../binutils-gdb/configure --target=x86_64-fennix \ + --prefix="$(CROSS_DIR)" \ + --with-sysroot --enable-shared --disable-werror && \ make all -j$(shell nproc) && make install do_gcc_64: cd build-gcc64 && \ - ../gcc/configure --target=x86_64-fennix --prefix="$(CROSS_DIR)" --enable-languages=c,c++ --enable-shared --without-headers && \ + ../gcc/configure --target=x86_64-fennix \ + --prefix="$(CROSS_DIR)" \ + --enable-languages=c,c++ --enable-shared --without-headers && \ make all-gcc -j$(shell nproc) && \ make all-target-libgcc -j$(shell nproc) && \ make install-gcc -j$(shell nproc) && \ @@ -67,12 +71,16 @@ do_gcc_64: do_binutils_32: cd build-binutils32 && \ - ../binutils-gdb/configure --target=i386-fennix --prefix="$(CROSS_DIR)" --with-sysroot --enable-shared --disable-werror && \ + ../binutils-gdb/configure --target=i386-fennix \ + --prefix="$(CROSS_DIR)" \ + --with-sysroot --enable-shared --disable-werror && \ make all -j$(shell nproc) && make install do_gcc_32: cd build-gcc32 && \ - ../gcc/configure --target=i386-fennix --prefix="$(CROSS_DIR)" --enable-languages=c,c++ --enable-shared --without-headers && \ + ../gcc/configure --target=i386-fennix \ + --prefix="$(CROSS_DIR)" \ + --enable-languages=c,c++ --enable-shared --without-headers && \ make all-gcc -j$(shell nproc) && \ make all-target-libgcc -j$(shell nproc) && \ make install-gcc -j$(shell nproc) && \ diff --git a/tools/grub.cfg b/tools/grub.cfg index 29e4a38d91..d9880a6e19 100644 --- a/tools/grub.cfg +++ b/tools/grub.cfg @@ -7,7 +7,7 @@ menuentry "Fennix" { load_video clear echo "Loading kernel" - multiboot2 /kernel.fsys --ioapicirq=1 --linux=false --ioc=true --udl=true --simd=true + multiboot2 /fennix.elf --ioapicirq=1 --ioc=true --udl=true --simd=true echo "Loading initrd" module2 /initrd.tar.gz initrd echo "Booting..." diff --git a/tools/limine.cfg b/tools/limine.cfg index aab207a4a9..35b02a42bf 100644 --- a/tools/limine.cfg +++ b/tools/limine.cfg @@ -5,8 +5,8 @@ INTERFACE_BRANDING=Fennix # DO NOT EDIT! COMMENT=Boot Fennix using limine protocol PROTOCOL=limine - KERNEL_CMDLINE=--ioapicirq=1 --linux=false --ioc=true --udl=true --simd=true - KERNEL_PATH=boot:///kernel.fsys + KERNEL_CMDLINE=--ioapicirq=1 --ioc=true --udl=true --simd=true + KERNEL_PATH=boot:///fennix.elf MODULE_PATH=boot:///initrd.tar.gz MODULE_CMDLINE=initrd diff --git a/tools/website/index.html b/tools/website/index.html index b11536e1d3..09c8a634c3 100644 --- a/tools/website/index.html +++ b/tools/website/index.html @@ -25,7 +25,7 @@

Operating System from scr Full Documentation Lynx Bootloader Kernel - Modules + Drivers Userspace Download diff --git a/tools/website/robots.txt b/tools/website/robots.txt index 58aacd4d0b..d3fbe0c72a 100644 --- a/tools/website/robots.txt +++ b/tools/website/robots.txt @@ -1,6 +1,6 @@ User-agent: * Disallow: /userspace/ -Disallow: /modules/ +Disallow: /drivers/ Disallow: /kernel/ Disallow: /lynx/ Disallow: /fulldoc/ \ No newline at end of file