Update files

This commit is contained in:
EnderIce2 2024-01-19 06:53:16 +02:00
parent 23ad9e3b5d
commit a18b24e859
Signed by untrusted user who does not match committer: enderice2
GPG Key ID: EACC3AD603BAB4DD
55 changed files with 178 additions and 72 deletions

View File

@ -136,7 +136,7 @@ jobs:
sudo apt-get update 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 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 tools do_limine
make --quiet -C Modules prepare make --quiet -C Drivers prepare
make --quiet -C Userspace prepare make --quiet -C Userspace prepare
make --quiet -C Lynx prepare make --quiet -C Lynx prepare
make --quiet -C Kernel prepare make --quiet -C Kernel prepare
@ -159,7 +159,7 @@ jobs:
run: | run: |
make build_lynx make build_lynx
make build_userspace make build_userspace
make build_modules make build_drivers
make build_kernel make build_kernel
make build_userspace make build_userspace
@ -180,7 +180,7 @@ jobs:
sudo apt-get update 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 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 tools do_limine
make --quiet -C Modules prepare make --quiet -C Drivers prepare
make --quiet -C Userspace prepare make --quiet -C Userspace prepare
make --quiet -C Lynx prepare make --quiet -C Lynx prepare
make --quiet -C Kernel prepare make --quiet -C Kernel prepare
@ -237,7 +237,7 @@ jobs:
sudo apt-get update 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 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 tools do_limine
make --quiet -C Modules prepare make --quiet -C Drivers prepare
make --quiet -C Userspace prepare make --quiet -C Userspace prepare
make --quiet -C Lynx prepare make --quiet -C Lynx prepare
make --quiet -C Kernel prepare make --quiet -C Kernel prepare
@ -295,7 +295,7 @@ jobs:
sudo apt-get update 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 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 tools do_limine
make --quiet -C Modules prepare make --quiet -C Drivers prepare
make --quiet -C Userspace prepare make --quiet -C Userspace prepare
make --quiet -C Lynx prepare make --quiet -C Lynx prepare
make --quiet -C Kernel prepare make --quiet -C Kernel prepare

View File

@ -83,7 +83,7 @@ build64:
script: 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 - 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 tools do_limine
- make --quiet -C Modules prepare - make --quiet -C Drivers prepare
- make --quiet -C Userspace prepare - make --quiet -C Userspace prepare
- make --quiet -C Lynx prepare - make --quiet -C Lynx prepare
- make --quiet -C Kernel prepare - make --quiet -C Kernel prepare
@ -107,7 +107,7 @@ build32:
script: 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 - 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 tools do_limine
- make --quiet -C Modules prepare - make --quiet -C Drivers prepare
- make --quiet -C Userspace prepare - make --quiet -C Userspace prepare
- make --quiet -C Lynx prepare - make --quiet -C Lynx prepare
- make --quiet -C Kernel prepare - make --quiet -C Kernel prepare
@ -130,7 +130,7 @@ buildarm64:
script: 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 - 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 tools do_limine
- make --quiet -C Modules prepare - make --quiet -C Drivers prepare
- make --quiet -C Userspace prepare - make --quiet -C Userspace prepare
- make --quiet -C Lynx prepare - make --quiet -C Lynx prepare
- make --quiet -C Kernel prepare - make --quiet -C Kernel prepare

4
.gitmodules vendored
View File

@ -8,5 +8,5 @@
path = Userspace path = Userspace
url = https://github.com/Fennix-Project/Userspace.git url = https://github.com/Fennix-Project/Userspace.git
[submodule "Modules"] [submodule "Modules"]
path = Modules path = Drivers
url = https://github.com/Fennix-Project/Modules.git url = https://github.com/Fennix-Project/Drivers.git

View File

@ -864,7 +864,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched. # 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 # 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 # 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 # (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. # 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 # Configuration options related to source browsing

1
Drivers Submodule

@ -0,0 +1 @@
Subproject commit da4a6317ea49c46a0ba7527a2387cf5e7169541e

View File

@ -1,7 +1,7 @@
{ {
"folders": [ "folders": [
{ {
"path": "./Modules" "path": "./Drivers"
} }
], ],
"settings": { "settings": {
@ -14,6 +14,7 @@
"Cardbus", "Cardbus",
"CFIEN", "CFIEN",
"cmdret", "cmdret",
"cmpb",
"ECTRL", "ECTRL",
"EEPROM", "EEPROM",
"Fennix", "Fennix",
@ -25,6 +26,7 @@
"inportw", "inportw",
"INTX", "INTX",
"KAPI", "KAPI",
"LEDS",
"LPBK", "LPBK",
"LSTA", "LSTA",
"mminb", "mminb",
@ -87,8 +89,23 @@
"TXDESCLEN", "TXDESCLEN",
"TXDESCLO", "TXDESCLO",
"TXDESCTAIL", "TXDESCTAIL",
"TYPEMATIC",
"ubit",
"Virtio", "Virtio",
"Wmissing" "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"
}
} }
} }

View File

@ -46,7 +46,16 @@
"utility": "cpp", "utility": "cpp",
"algorithm": "cpp", "algorithm": "cpp",
"functional": "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": [ "cSpell.words": [
"AABBCC", "AABBCC",
@ -71,6 +80,8 @@
"ARRAYSZ", "ARRAYSZ",
"auxv", "auxv",
"BADRAM", "BADRAM",
"BGRT",
"bimi",
"binfo", "binfo",
"biosdev", "biosdev",
"BIST", "BIST",
@ -105,6 +116,7 @@
"daifclr", "daifclr",
"daifset", "daifset",
"DAPI", "DAPI",
"DBGP",
"DEBUGCTL", "DEBUGCTL",
"defragment", "defragment",
"dfdesc", "dfdesc",
@ -115,12 +127,14 @@
"Drivermemset", "Drivermemset",
"Driversprintf", "Driversprintf",
"drvdir", "drvdir",
"DRVER",
"DSDT", "DSDT",
"DUID", "DUID",
"dynstr", "dynstr",
"dynsym", "dynsym",
"EBDA", "EBDA",
"edid", "edid",
"EEPROM",
"EFER", "EFER",
"Ehdr", "Ehdr",
"ehsize", "ehsize",
@ -156,6 +170,7 @@
"FSGSBASE", "FSGSBASE",
"fxrstor", "fxrstor",
"fxsave", "fxsave",
"Gamepad",
"Gameport", "Gameport",
"geopbyte", "geopbyte",
"GETVERSION", "GETVERSION",
@ -189,8 +204,10 @@
"KAPI", "KAPI",
"KAPIPCI", "KAPIPCI",
"kcalloc", "kcalloc",
"kcon",
"kernelctl", "kernelctl",
"kfree", "kfree",
"klog",
"kmalloc", "kmalloc",
"kproc", "kproc",
"krealloc", "krealloc",
@ -208,6 +225,7 @@
"MADT", "MADT",
"MADTIO", "MADTIO",
"malloc", "malloc",
"MCFG",
"memdbg", "memdbg",
"memmap", "memmap",
"memsz", "memsz",
@ -243,6 +261,7 @@
"MWAIT", "MWAIT",
"NIDENT", "NIDENT",
"NOBITS", "NOBITS",
"nullfd",
"nullptr", "nullptr",
"objptr", "objptr",
"OEMID", "OEMID",
@ -278,20 +297,24 @@
"PHYSMASK", "PHYSMASK",
"Pico", "Pico",
"PINBASED", "PINBASED",
"Pipefd",
"PKRU", "PKRU",
"PLTGOT", "PLTGOT",
"PLTREL", "PLTREL",
"PLTRELSZ", "PLTRELSZ",
"POPCNT", "POPCNT",
"PORTHB",
"powerline", "powerline",
"Prefetchable", "Prefetchable",
"PREINIT", "PREINIT",
"PROCBASED", "PROCBASED",
"PTMX", "PTMX",
"ptys",
"pushfl", "pushfl",
"pushfq", "pushfq",
"Raphson", "Raphson",
"RARP", "RARP",
"RBSTART",
"rdmsr", "rdmsr",
"RDRAND", "RDRAND",
"rdseed", "rdseed",
@ -304,6 +327,7 @@
"RELASZ", "RELASZ",
"RELSZ", "RELSZ",
"Rodata", "Rodata",
"RPCI",
"RRGGBB", "RRGGBB",
"RSDP", "RSDP",
"RSDT", "RSDT",
@ -323,6 +347,7 @@
"showbuf", "showbuf",
"shstrndx", "shstrndx",
"sidt", "sidt",
"sigsetsize",
"SIVR", "SIVR",
"SMAP", "SMAP",
"SMBASE", "SMBASE",
@ -331,6 +356,8 @@
"SMRR", "SMRR",
"SMXE", "SMXE",
"SNTP", "SNTP",
"SRAT",
"SSDT",
"sspt", "sspt",
"SSSE", "SSSE",
"stac", "stac",
@ -345,6 +372,7 @@
"Tamsyn", "Tamsyn",
"targp", "targp",
"TCCR", "TCCR",
"TCLO",
"TCPA", "TCPA",
"TDCR", "TDCR",
"TEXIT", "TEXIT",
@ -352,6 +380,7 @@
"Thrd", "Thrd",
"TICR", "TICR",
"tlbi", "tlbi",
"Touchpad",
"tracepagetable", "tracepagetable",
"tskdbg", "tskdbg",
"ttbr", "ttbr",
@ -365,6 +394,7 @@
"UMIP", "UMIP",
"UMWAIT", "UMWAIT",
"UNMAP", "UNMAP",
"Unmaskable",
"Unreserving", "Unreserving",
"Unswap", "Unswap",
"unsynchronized", "unsynchronized",
@ -381,6 +411,7 @@
"Virtio", "Virtio",
"VMCS", "VMCS",
"VMFUNC", "VMFUNC",
"vmouse",
"VMXE", "VMXE",
"VNNI", "VNNI",
"VNNIW", "VNNIW",
@ -388,6 +419,7 @@
"VPID", "VPID",
"VPOKE", "VPOKE",
"VPOPCNTDQ", "VPOPCNTDQ",
"WAET",
"weakrefalias", "weakrefalias",
"Wignored", "Wignored",
"Wmissing", "Wmissing",

View File

@ -39,7 +39,12 @@
"syscall.h": "c", "syscall.h": "c",
"stdint.h": "c", "stdint.h": "c",
"setjmp.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": [ "cSpell.words": [
"auxv", "auxv",

2
Kernel

@ -1 +1 @@
Subproject commit 889e1522a36576822aa63598e825dd971aa204e9 Subproject commit 96daa43d3880126119bf775b3c5400aae7764392

View File

@ -32,7 +32,10 @@ QEMUFLAGS += -device vmware-svga -M q35 \
-device ide-hd,drive=disk,bus=ahci.1 \ -device ide-hd,drive=disk,bus=ahci.1 \
-audiodev pa,id=pa1,server=/run/user/1000/pulse/native \ -audiodev pa,id=pa1,server=/run/user/1000/pulse/native \
-machine pcspk-audiodev=pa1 \ -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) else ifeq ($(OSARCH), i386)
QEMUFLAGS += -M q35 \ QEMUFLAGS += -M q35 \
-usb \ -usb \
@ -49,7 +52,10 @@ QEMUFLAGS += -M q35 \
-hda $(OSNAME).iso \ -hda $(OSNAME).iso \
-audiodev pa,id=pa1,server=/run/user/1000/pulse/native \ -audiodev pa,id=pa1,server=/run/user/1000/pulse/native \
-machine pcspk-audiodev=pa1 \ -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) else ifeq ($(OSARCH), aarch64)
QEMUFLAGS += -M raspi3b \ QEMUFLAGS += -M raspi3b \
-cpu cortex-a57 \ -cpu cortex-a57 \
@ -57,7 +63,8 @@ QEMUFLAGS += -M raspi3b \
-serial file:profiler.log \ -serial file:profiler.log \
-serial file:serial3.dmp \ -serial file:serial3.dmp \
-serial file:serial4.dmp \ -serial file:serial4.dmp \
-kernel $(OSNAME).img -kernel $(OSNAME).img \
-acpitable file=tools/SSDT1.dat
endif endif
doxygen: doxygen:
@ -66,7 +73,7 @@ doxygen:
doxygen Kernel/Doxyfile doxygen Kernel/Doxyfile
doxygen Lynx/Doxyfile doxygen Lynx/Doxyfile
doxygen Userspace/Doxyfile doxygen Userspace/Doxyfile
doxygen Modules/Doxyfile doxygen Drivers/Doxyfile
qemu_vdisk: qemu_vdisk:
ifneq (,$(wildcard ./qemu-disk.img)) ifneq (,$(wildcard ./qemu-disk.img))
@ -81,9 +88,9 @@ tools:
make --quiet -C Kernel prepare make --quiet -C Kernel prepare
make --quiet -C Lynx prepare make --quiet -C Lynx prepare
make --quiet -C Userspace 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: dump:
make --quiet -C Kernel dump make --quiet -C Kernel dump
@ -109,24 +116,24 @@ ifeq ($(BUILD_USERSPACE), 1)
make $(MAKE_QUIET_FLAG) -C Userspace build make $(MAKE_QUIET_FLAG) -C Userspace build
endif endif
build_modules: build_drivers:
ifeq ($(BUILD_MODULES), 1) ifeq ($(BUILD_DRIVERS), 1)
make $(MAKE_QUIET_FLAG) -C Modules build make $(MAKE_QUIET_FLAG) -C Drivers build
endif endif
build_image: build_image:
mkdir -p iso_tmp_data mkdir -p iso_tmp_data
mkdir -p initrd_tmp_data mkdir -p initrd_tmp_data
cp -r initrd/* initrd_tmp_data/ cp -r initrd/* initrd_tmp_data/
ifeq ($(BUILD_MODULES), 1) ifeq ($(BUILD_DRIVERS), 1)
cp -r Modules/out/* initrd_tmp_data/modules/ cp -r Drivers/out/* initrd_tmp_data/usr/lib/drivers/
endif endif
ifeq ($(BUILD_USERSPACE), 1) ifeq ($(BUILD_USERSPACE), 1)
cp -r Userspace/out/* initrd_tmp_data/ cp -r Userspace/out/* initrd_tmp_data/
endif endif
# tar czf initrd.tar.gz -C initrd_tmp_data/ ./ --format=ustar # tar czf initrd.tar.gz -C initrd_tmp_data/ ./ --format=ustar
tar cf 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/ iso_tmp_data/
ifeq ($(BOOTLOADER), lynx) ifeq ($(BOOTLOADER), lynx)
cp tools/lynx.cfg Lynx/loader.bin Lynx/efi-loader.bin iso_tmp_data/ 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 iso_tmp_data -o $(OSNAME).iso
endif endif
ifeq ($(BOOTLOADER), limine) 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/ cp tools/limine.cfg $(LIMINE_FOLDER)/limine-bios.sys \
xorriso -as mkisofs -quiet -b limine-cd.bin \ $(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 \ -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 \ -efi-boot-part --efi-boot-image --protective-msdos-label \
iso_tmp_data -o $(OSNAME).iso iso_tmp_data -o $(OSNAME).iso
endif endif
@ -152,7 +166,7 @@ ifeq ($(BOOTLOADER), grub)
grub-mkrescue -o $(OSNAME).iso iso_tmp_data grub-mkrescue -o $(OSNAME).iso iso_tmp_data
endif endif
ifeq ($(OSARCH), aarch64) 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 endif
ifeq ($(OSARCH), amd64) ifeq ($(OSARCH), amd64)
@ -192,12 +206,12 @@ vscode_debug_only:
rm -f serial.log profiler.log serial3.dmp serial4.dmp network.dmp parallel.log 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) $(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 qemu: qemu_vdisk
rm -f serial.log profiler.log serial3.dmp serial4.dmp network.dmp parallel.log rm -f serial.log profiler.log serial3.dmp serial4.dmp network.dmp parallel.log
# touch serial.log parallel.log touch serial.log parallel.log
# x-terminal-emulator -e tail -f serial.log & # x-terminal-emulator -e tail -f serial.log &
# x-terminal-emulator -e tail -f parallel.log & # x-terminal-emulator -e tail -f parallel.log &
$(QEMU) $(QEMU_UEFI_BIOS) -cpu host $(QEMUFLAGS) $(QEMUHWACCELERATION) $(QEMUMEMORY) $(QEMU_SMP) $(QEMU) $(QEMU_UEFI_BIOS) -cpu host $(QEMUFLAGS) $(QEMUHWACCELERATION) $(QEMUMEMORY) $(QEMU_SMP)
@ -213,4 +227,4 @@ clean:
make -C Kernel clean make -C Kernel clean
make -C Lynx clean make -C Lynx clean
make -C Userspace clean make -C Userspace clean
make -C Modules clean make -C Drivers clean

View File

@ -20,7 +20,7 @@ BOOTLOADER = grub
BUILD_KERNEL = 1 BUILD_KERNEL = 1
BUILD_USERSPACE = 1 BUILD_USERSPACE = 1
BUILD_MODULES = 1 BUILD_DRIVERS = 1
QUIET_BUILD = 1 QUIET_BUILD = 1

@ -1 +0,0 @@
Subproject commit 2ee57b9756ac97daf7f6dc5a5d4575a8a97ffc10

@ -1 +1 @@
Subproject commit 17787dbc9b0ccf366b363e035b3333e1a131719c Subproject commit c685a37c15adcecf9ba600c81894b4f8e993caca

View File

@ -1 +0,0 @@
/Test.txt

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 625 KiB

6
initrd/etc/cross/linux Normal file
View File

@ -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

View File

@ -1,7 +0,0 @@
[FAKE_API_VERSION]
Enable=0
Major=0
Minor=0
Patch=0
[BLACKLIST]

33
initrd/tmp/chars.txt Normal file
View File

@ -0,0 +1,33 @@
Hello World!
Bună Lume!
¡Hola Mundo!
Привет, мир!
Selam Dünya!
「こんにちは世界」
你好世界!
안녕하세요 월드!
مرحبا بالعالم!
Բարեւ աշխարհ!
Γειά σου Κόσμε!
Helló Világ!
Përshendetje Botë!
------------------
ĂăÎîÂâȘșȚț
ΩŁ€®Ŧ¥←↑↓→ØÞ
ƧЪŊĦ̛̛Ł˝
«»©¢“‘”’µº×÷
ёЁъЪЧчШшЩщЭэ
ЯВЕРТЫУИОП
явертыуиоп
АСДФГХЙКЛ
асдфгхйкл
ЗЬЦЖБНМ
зьцжбнм
顲³¼⅜±°¿
ĞğÜü

1
initrd/tmp/invalid Symbolic link
View File

@ -0,0 +1 @@
/foo/bar

1
initrd/tmp/link Symbolic link
View File

@ -0,0 +1 @@
/tmp/test.txt

View File

@ -1,3 +0,0 @@
# Doxygen
This is a README file for Doxygen.

View File

@ -2,9 +2,9 @@ WORKING_DIR = $(shell pwd)
CROSS_DIR=$(WORKING_DIR)/cross CROSS_DIR=$(WORKING_DIR)/cross
export PATH := $(CROSS_DIR):$(PATH) 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: clean:
rm -f rep ep fex rm -f rep ep fex
@ -17,20 +17,16 @@ do_ep:
g++ -w ErrorParser.cpp -o ep g++ -w ErrorParser.cpp -o ep
chmod +x ep chmod +x ep
do_fex:
gcc -w Fex.c -o fex
chmod +x fex
do_limine: 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: clone_all:
git clone https://github.com/Fennix-Project/binutils-gdb.git binutils-gdb git clone https://github.com/Fennix-Project/binutils-gdb.git binutils-gdb
git clone https://github.com/Fennix-Project/gcc.git gcc git clone https://github.com/Fennix-Project/gcc.git gcc
wget https://download.qemu.org/${QEMU_VERSION}.tar.xz wget https://download.qemu.org/qemu-${QEMU_VERSION}.tar.xz
tar xvJf ${QEMU_VERSION}.tar.xz tar xvJf qemu-${QEMU_VERSION}.tar.xz
rm -f ${QEMU_VERSION}.tar.xz rm -f qemu-${QEMU_VERSION}.tar.xz
mv ${QEMU_VERSION} qemu mv qemu-${QEMU_VERSION} qemu
mkdir -p cross mkdir -p cross
mkdir -p qemu mkdir -p qemu
mkdir -p build-binutils64 mkdir -p build-binutils64
@ -49,17 +45,25 @@ __clone_all_no_qemu:
do_qemu: do_qemu:
cd 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 make -j$(shell nproc) && make install
do_binutils_64: do_binutils_64:
cd build-binutils64 && \ 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 make all -j$(shell nproc) && make install
do_gcc_64: do_gcc_64:
cd build-gcc64 && \ 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-gcc -j$(shell nproc) && \
make all-target-libgcc -j$(shell nproc) && \ make all-target-libgcc -j$(shell nproc) && \
make install-gcc -j$(shell nproc) && \ make install-gcc -j$(shell nproc) && \
@ -67,12 +71,16 @@ do_gcc_64:
do_binutils_32: do_binutils_32:
cd build-binutils32 && \ 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 make all -j$(shell nproc) && make install
do_gcc_32: do_gcc_32:
cd build-gcc32 && \ 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-gcc -j$(shell nproc) && \
make all-target-libgcc -j$(shell nproc) && \ make all-target-libgcc -j$(shell nproc) && \
make install-gcc -j$(shell nproc) && \ make install-gcc -j$(shell nproc) && \

View File

@ -7,7 +7,7 @@ menuentry "Fennix" {
load_video load_video
clear clear
echo "Loading kernel" 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" echo "Loading initrd"
module2 /initrd.tar.gz initrd module2 /initrd.tar.gz initrd
echo "Booting..." echo "Booting..."

View File

@ -5,8 +5,8 @@ INTERFACE_BRANDING=Fennix
# DO NOT EDIT! # DO NOT EDIT!
COMMENT=Boot Fennix using limine protocol COMMENT=Boot Fennix using limine protocol
PROTOCOL=limine PROTOCOL=limine
KERNEL_CMDLINE=--ioapicirq=1 --linux=false --ioc=true --udl=true --simd=true KERNEL_CMDLINE=--ioapicirq=1 --ioc=true --udl=true --simd=true
KERNEL_PATH=boot:///kernel.fsys KERNEL_PATH=boot:///fennix.elf
MODULE_PATH=boot:///initrd.tar.gz MODULE_PATH=boot:///initrd.tar.gz
MODULE_CMDLINE=initrd MODULE_CMDLINE=initrd

View File

@ -25,7 +25,7 @@
<a class="hdrbtn" href="/fulldoc"><i class="fa-solid fa-book-bookmark"></i> Full Documentation</a> <a class="hdrbtn" href="/fulldoc"><i class="fa-solid fa-book-bookmark"></i> Full Documentation</a>
<a class="hdrbtn" href="/lynx"><i class="fa-solid fa-file-code"></i> Lynx Bootloader</a> <a class="hdrbtn" href="/lynx"><i class="fa-solid fa-file-code"></i> Lynx Bootloader</a>
<a class="hdrbtn" href="/kernel"><i class="fa-solid fa-file-code"></i> Kernel</a> <a class="hdrbtn" href="/kernel"><i class="fa-solid fa-file-code"></i> Kernel</a>
<a class="hdrbtn" href="/modules"><i class="fa-solid fa-file-code"></i> Modules</a> <a class="hdrbtn" href="/drivers"><i class="fa-solid fa-file-code"></i> Drivers</a>
<a class="hdrbtn" href="/userspace"><i class="fa-solid fa-file-code"></i> Userspace</a> <a class="hdrbtn" href="/userspace"><i class="fa-solid fa-file-code"></i> Userspace</a>
<a class="hdrbtn" style="float:right" href="https://github.com/Fennix-Project/Fennix/releases/latest"><i <a class="hdrbtn" style="float:right" href="https://github.com/Fennix-Project/Fennix/releases/latest"><i
class="fa-solid fa-download"></i> Download</a> class="fa-solid fa-download"></i> Download</a>

View File

@ -1,6 +1,6 @@
User-agent: * User-agent: *
Disallow: /userspace/ Disallow: /userspace/
Disallow: /modules/ Disallow: /drivers/
Disallow: /kernel/ Disallow: /kernel/
Disallow: /lynx/ Disallow: /lynx/
Disallow: /fulldoc/ Disallow: /fulldoc/