mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-05-28 23:44:31 +00:00
Compare commits
2 Commits
75c8dbd31b
...
58f3442c6d
Author | SHA1 | Date | |
---|---|---|---|
58f3442c6d | |||
3af04bce80 |
15
.github/workflows/makefile.yml
vendored
15
.github/workflows/makefile.yml
vendored
@ -28,7 +28,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Install GCC Dependencies
|
- name: Install GCC Dependencies
|
||||||
if: steps.cache-cross.outputs.cache-hit != 'true'
|
if: steps.cache-cross.outputs.cache-hit != 'true'
|
||||||
run: sudo apt -y install build-essential bison flex libgmp3-dev libmpc-dev libmpfr-dev texinfo libzstd-dev libisl-dev m4 automake gettext gperf dejagnu guile-3.0 guile-3.0-dev expect tcl autogen tex-common sphinx-common git ssh diffutils patch autoconf2.69 libtool wget dpkg
|
run: sudo apt --no-install-recommends -y install build-essential bison flex libgmp3-dev libmpc-dev libmpfr-dev texinfo libzstd-dev libisl-dev m4 automake gettext gperf dejagnu guile-3.0 guile-3.0-dev expect tcl autogen tex-common sphinx-common git ssh diffutils patch autoconf2.69 libtool wget dpkg
|
||||||
|
|
||||||
- name: Check autoconf
|
- name: Check autoconf
|
||||||
if: steps.cache-cross.outputs.cache-hit != 'true'
|
if: steps.cache-cross.outputs.cache-hit != 'true'
|
||||||
@ -122,7 +122,7 @@ jobs:
|
|||||||
- name: Install Packages
|
- name: Install Packages
|
||||||
run: |
|
run: |
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt -y 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
|
sudo apt --no-install-recommends -y 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
|
||||||
make --quiet -C tools do_limine
|
make --quiet -C tools do_limine
|
||||||
make --quiet -C Drivers prepare
|
make --quiet -C Drivers prepare
|
||||||
make --quiet -C Userspace prepare
|
make --quiet -C Userspace prepare
|
||||||
@ -160,7 +160,7 @@ jobs:
|
|||||||
run: sudo apt update
|
run: sudo apt update
|
||||||
|
|
||||||
- name: Install Doxygen
|
- name: Install Doxygen
|
||||||
run: sudo apt -y install doxygen make
|
run: sudo apt --no-install-recommends -y install doxygen make
|
||||||
|
|
||||||
- name: Generate Documentation
|
- name: Generate Documentation
|
||||||
run: make doxygen
|
run: make doxygen
|
||||||
@ -173,7 +173,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
folder: doxygen-doc
|
folder: doxygen-doc
|
||||||
|
|
||||||
|
|
||||||
compile_amd64:
|
compile_amd64:
|
||||||
name: Build amd64
|
name: Build amd64
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -186,7 +185,7 @@ jobs:
|
|||||||
- name: Update & Install Required Packages
|
- name: Update & Install Required Packages
|
||||||
run: |
|
run: |
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt 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 --no-install-recommends -y 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
|
||||||
make --quiet -C tools do_limine
|
make --quiet -C tools do_limine
|
||||||
make --quiet -C Drivers prepare
|
make --quiet -C Drivers prepare
|
||||||
make --quiet -C Userspace prepare
|
make --quiet -C Userspace prepare
|
||||||
@ -235,7 +234,7 @@ jobs:
|
|||||||
- name: Update & Install Required Packages
|
- name: Update & Install Required Packages
|
||||||
run: |
|
run: |
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt 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 --no-install-recommends -y 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
|
||||||
make --quiet -C tools do_limine
|
make --quiet -C tools do_limine
|
||||||
make --quiet -C Drivers prepare
|
make --quiet -C Drivers prepare
|
||||||
make --quiet -C Userspace prepare
|
make --quiet -C Userspace prepare
|
||||||
@ -284,7 +283,7 @@ jobs:
|
|||||||
- name: Update & Install Required Packages
|
- name: Update & Install Required Packages
|
||||||
run: |
|
run: |
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt 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 --no-install-recommends -y 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
|
||||||
make --quiet -C tools do_limine
|
make --quiet -C tools do_limine
|
||||||
make --quiet -C Drivers prepare
|
make --quiet -C Drivers prepare
|
||||||
make --quiet -C Userspace prepare
|
make --quiet -C Userspace prepare
|
||||||
@ -333,7 +332,7 @@ jobs:
|
|||||||
- name: Update & Install Required Packages
|
- name: Update & Install Required Packages
|
||||||
run: |
|
run: |
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt 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 --no-install-recommends -y 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
|
||||||
make --quiet -C tools do_limine
|
make --quiet -C tools do_limine
|
||||||
make --quiet -C Drivers prepare
|
make --quiet -C Drivers prepare
|
||||||
make --quiet -C Userspace prepare
|
make --quiet -C Userspace prepare
|
||||||
|
@ -54,7 +54,7 @@ else ifeq ($(OSARCH), i386)
|
|||||||
CFLAGS += -march=pentium -m32 -mno-red-zone
|
CFLAGS += -march=pentium -m32 -mno-red-zone
|
||||||
LDFLAGS += -Tarch/i386/linker.ld
|
LDFLAGS += -Tarch/i386/linker.ld
|
||||||
else ifeq ($(OSARCH), arm)
|
else ifeq ($(OSARCH), arm)
|
||||||
CFLAGS += -march=armv7-a -mfloat-abi=softfp
|
CFLAGS += -march=armv7-a -mfloat-abi=softfp -ggdb3
|
||||||
LDFLAGS += -Tarch/arm/linker.ld
|
LDFLAGS += -Tarch/arm/linker.ld
|
||||||
WARNCFLAG += -w
|
WARNCFLAG += -w
|
||||||
else ifeq ($(OSARCH), aarch64)
|
else ifeq ($(OSARCH), aarch64)
|
||||||
|
@ -15,6 +15,9 @@
|
|||||||
along with Fennix Kernel. If not, see <https://www.gnu.org/licenses/>.
|
along with Fennix Kernel. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
OUTPUT_FORMAT("elf64-littleaarch64")
|
||||||
|
OUTPUT_ARCH(aarch64)
|
||||||
|
|
||||||
ENTRY(_start)
|
ENTRY(_start)
|
||||||
|
|
||||||
SECTIONS
|
SECTIONS
|
||||||
|
@ -15,6 +15,9 @@
|
|||||||
along with Fennix Kernel. If not, see <https://www.gnu.org/licenses/>.
|
along with Fennix Kernel. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
OUTPUT_FORMAT("elf32-littlearm")
|
||||||
|
OUTPUT_ARCH(arm)
|
||||||
|
|
||||||
ENTRY(_start)
|
ENTRY(_start)
|
||||||
|
|
||||||
SECTIONS
|
SECTIONS
|
||||||
|
@ -163,8 +163,9 @@ namespace CPU
|
|||||||
asmv("popl %0"
|
asmv("popl %0"
|
||||||
: "=r"(Flags));
|
: "=r"(Flags));
|
||||||
return Flags & (1 << 9);
|
return Flags & (1 << 9);
|
||||||
#elif defined(__aarch64__)
|
#else
|
||||||
#warning "aarch64 not implemented"
|
#warning "not implemented"
|
||||||
|
UNUSED(Flags);
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -80,6 +80,7 @@ namespace v0
|
|||||||
|
|
||||||
#elif defined(__aarch64__)
|
#elif defined(__aarch64__)
|
||||||
|
|
||||||
|
UNUSED(cs);
|
||||||
stub;
|
stub;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -36,7 +36,9 @@ namespace Memory
|
|||||||
this->PTEIndex = Address & 0x3FF;
|
this->PTEIndex = Address & 0x3FF;
|
||||||
Address >>= 10;
|
Address >>= 10;
|
||||||
this->PDEIndex = Address & 0x3FF;
|
this->PDEIndex = Address & 0x3FF;
|
||||||
#elif defined(__aarch64__)
|
#else
|
||||||
|
#warning "not implemented"
|
||||||
|
UNUSED(Address);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (VirtualAddress > PAGE_SIZE)
|
if (VirtualAddress > PAGE_SIZE)
|
||||||
|
@ -330,6 +330,8 @@ namespace Memory
|
|||||||
MgrLock.Lock(__FUNCTION__);
|
MgrLock.Lock(__FUNCTION__);
|
||||||
#else
|
#else
|
||||||
#warning "Not implemented"
|
#warning "Not implemented"
|
||||||
|
UNUSED(AddressToMap);
|
||||||
|
UNUSED(RealAddress);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -188,6 +188,8 @@ nsa __noreturn void HandleUnrecoverableException(CPU::ExceptionFrame *Frame)
|
|||||||
#if defined(__amd64__) || defined(__i386__)
|
#if defined(__amd64__) || defined(__i386__)
|
||||||
ExPrint("\x1b[30;41mUnrecoverable exception %#lx on CPU %d\n",
|
ExPrint("\x1b[30;41mUnrecoverable exception %#lx on CPU %d\n",
|
||||||
Frame->InterruptNumber, core->ID);
|
Frame->InterruptNumber, core->ID);
|
||||||
|
#else
|
||||||
|
UNUSED(core);
|
||||||
#endif
|
#endif
|
||||||
#if defined(__amd64__) || defined(__i386__)
|
#if defined(__amd64__) || defined(__i386__)
|
||||||
ExPrint("CR0=%#lx CR2=%#lx CR3=%#lx CR4=%#lx CR8=%#lx\n",
|
ExPrint("CR0=%#lx CR2=%#lx CR3=%#lx CR4=%#lx CR8=%#lx\n",
|
||||||
|
@ -328,7 +328,7 @@ nsa void DisplayMainScreen(CPU::ExceptionFrame *Frame)
|
|||||||
#elif defined(__i386__)
|
#elif defined(__i386__)
|
||||||
Frame->eip);
|
Frame->eip);
|
||||||
#elif defined(__arm__)
|
#elif defined(__arm__)
|
||||||
0);
|
0);
|
||||||
#elif defined(__aarch64__)
|
#elif defined(__aarch64__)
|
||||||
0);
|
0);
|
||||||
#warning "aarch64 not implemented"
|
#warning "aarch64 not implemented"
|
||||||
@ -779,6 +779,9 @@ nsa void DisplayAssertionFailed(const char *File, int Line, const char *Expressi
|
|||||||
asmv("movl %%cr3, %0" : "=r"(ef.cr3));
|
asmv("movl %%cr3, %0" : "=r"(ef.cr3));
|
||||||
ef.eip = (uint32_t)fun;
|
ef.eip = (uint32_t)fun;
|
||||||
ef.ebp = ef.esp = (uint32_t)stk;
|
ef.ebp = ef.esp = (uint32_t)stk;
|
||||||
|
#else
|
||||||
|
UNUSED(fun);
|
||||||
|
UNUSED(stk);
|
||||||
#endif
|
#endif
|
||||||
DisplayStackScreen(&ef);
|
DisplayStackScreen(&ef);
|
||||||
|
|
||||||
|
@ -154,6 +154,8 @@ nsa bool UserModeExceptionHandler(CPU::ExceptionFrame *Frame)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
UNUSED(proc);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (sigRet == 0)
|
if (sigRet == 0)
|
||||||
|
@ -355,8 +355,9 @@ EXTERNC __no_stack_protector NIF void Entry(BootInfo *Info)
|
|||||||
: "r"(KernelStack)
|
: "r"(KernelStack)
|
||||||
: "memory");
|
: "memory");
|
||||||
asmv("mov $0, %ebp");
|
asmv("mov $0, %ebp");
|
||||||
#elif defined(__aarch64__)
|
#else
|
||||||
#warning "Kernel stack is not set!"
|
#warning "Kernel stack is not set!"
|
||||||
|
UNUSED(KernelStack);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
@ -69,6 +69,8 @@ void cmd_top(const char *)
|
|||||||
Thrd->ID, Thrd->Name, TaskStateStrings[Thrd->State.load()],
|
Thrd->ID, Thrd->Name, TaskStateStrings[Thrd->State.load()],
|
||||||
Thrd->Info.Priority, TO_KiB(Thrd->GetSize()),
|
Thrd->Info.Priority, TO_KiB(Thrd->GetSize()),
|
||||||
Thrd->Info.UserTime + Thrd->Info.KernelTime);
|
Thrd->Info.UserTime + Thrd->Info.KernelTime);
|
||||||
|
#else
|
||||||
|
UNUSED(Thrd);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,6 +48,9 @@ void cmd_uptime(const char *)
|
|||||||
printf("%lld days, %lld hours, %lld minutes, %lld %s\n",
|
printf("%lld days, %lld hours, %lld minutes, %lld %s\n",
|
||||||
Days, Hours, Minutes, Seconds,
|
Days, Hours, Minutes, Seconds,
|
||||||
Seconds == 1 ? "second" : "seconds");
|
Seconds == 1 ? "second" : "seconds");
|
||||||
|
#else
|
||||||
|
#warning "not implemented"
|
||||||
|
UNUSED(Days);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1091,6 +1091,9 @@ static int linux_mprotect(SysFrm *, void *addr, size_t len, int prot)
|
|||||||
pte->UserSupervisor = p_Read;
|
pte->UserSupervisor = p_Read;
|
||||||
pte->ReadWrite = p_Write;
|
pte->ReadWrite = p_Write;
|
||||||
// pte->ExecuteDisable = p_Exec;
|
// pte->ExecuteDisable = p_Exec;
|
||||||
|
#else
|
||||||
|
UNUSED(p_Read);
|
||||||
|
UNUSED(p_Write);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
debug("Changed permissions of page %#lx to %s %s %s %s",
|
debug("Changed permissions of page %#lx to %s %s %s %s",
|
||||||
@ -4332,7 +4335,9 @@ uintptr_t HandleLinuxSyscalls(SyscallsFrame *Frame)
|
|||||||
|
|
||||||
debug("< [%d:\"%s\"] = %d", Frame->ax, Syscall.Name, sc_ret);
|
debug("< [%d:\"%s\"] = %d", Frame->ax, Syscall.Name, sc_ret);
|
||||||
return sc_ret;
|
return sc_ret;
|
||||||
#elif defined(__aarch64__)
|
#else
|
||||||
|
UNUSED(LinuxSyscallsTableAMD64);
|
||||||
|
UNUSED(LinuxSyscallsTableI386);
|
||||||
return -linux_ENOSYS;
|
return -linux_ENOSYS;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -320,8 +320,9 @@ namespace Tasking
|
|||||||
this->Registers.rsp = StackPointerReg;
|
this->Registers.rsp = StackPointerReg;
|
||||||
#elif defined(__i386__)
|
#elif defined(__i386__)
|
||||||
this->Registers.esp = StackPointerReg;
|
this->Registers.esp = StackPointerReg;
|
||||||
#elif defined(__aarch64__)
|
#else
|
||||||
#warning "aarch64 not implemented"
|
#warning "not implemented"
|
||||||
|
UNUSED(StackPointerReg);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (argvLen > 0)
|
if (argvLen > 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user