mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-07-02 10:59:15 +00:00
chore: Update makefiles & macros
This commit is contained in:
@ -28,13 +28,13 @@
|
||||
#include <cpu.hpp>
|
||||
#include <io.h>
|
||||
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
#include "../../arch/amd64/cpu/gdt.hpp"
|
||||
#include "../arch/amd64/cpu/apic.hpp"
|
||||
#elif defined(a32)
|
||||
#elif defined(__i386__)
|
||||
#include "../../arch/i386/cpu/gdt.hpp"
|
||||
#include "../arch/i386/cpu/apic.hpp"
|
||||
#elif defined(aa64)
|
||||
#elif defined(__aarch64__)
|
||||
#endif
|
||||
|
||||
#include "../../kernel.h"
|
||||
|
@ -28,13 +28,13 @@
|
||||
#include <cpu.hpp>
|
||||
#include <io.h>
|
||||
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
#include "../../arch/amd64/cpu/gdt.hpp"
|
||||
#include "../arch/amd64/cpu/apic.hpp"
|
||||
#elif defined(a32)
|
||||
#elif defined(__i386__)
|
||||
#include "../../arch/i386/cpu/gdt.hpp"
|
||||
#include "../arch/i386/cpu/apic.hpp"
|
||||
#elif defined(aa64)
|
||||
#elif defined(__aarch64__)
|
||||
#endif
|
||||
|
||||
#include "../../kernel.h"
|
||||
@ -100,7 +100,7 @@ nsa void HaltAllCores()
|
||||
if (SMP::CPUCores <= 1)
|
||||
return;
|
||||
|
||||
#if defined(a86)
|
||||
#if defined(__amd64__) || defined(__i386__)
|
||||
if (Interrupts::apic[0] == nullptr)
|
||||
return;
|
||||
|
||||
@ -131,7 +131,7 @@ nsa void HaltAllCores()
|
||||
((APIC::APIC *)Interrupts::apic[i])->ICR(icr);
|
||||
}
|
||||
}
|
||||
#elif defined(aa64)
|
||||
#elif defined(__aarch64__)
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -187,7 +187,7 @@ nsa __noreturn void HandleUnrecoverableException(CPU::ExceptionFrame *Frame)
|
||||
ExPrint("\x1b[0m-----------------------------------------------\n");
|
||||
ExPrint("\x1b[30;41mUnrecoverable exception %#lx on CPU %d\n",
|
||||
Frame->InterruptNumber, core->ID);
|
||||
#if defined(a86)
|
||||
#if defined(__amd64__) || defined(__i386__)
|
||||
ExPrint("CR0=%#lx CR2=%#lx CR3=%#lx CR4=%#lx CR8=%#lx\n",
|
||||
Frame->cr0, Frame->cr2, Frame->cr3, Frame->cr4, Frame->cr8);
|
||||
ExPrint("DR0=%#lx DR1=%#lx DR2=%#lx DR3=%#lx DR6=%#lx DR7=%#lx\n",
|
||||
@ -195,29 +195,29 @@ nsa __noreturn void HandleUnrecoverableException(CPU::ExceptionFrame *Frame)
|
||||
ExPrint("GS=%#lx FS=%#lx ES=%#lx DS=%#lx SS=%#lx CS=%#lx\n",
|
||||
Frame->gs, Frame->fs, Frame->es, Frame->ds, Frame->ss, Frame->cs);
|
||||
#endif
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
ExPrint("R8=%#lx R9=%#lx R10=%#lx R11=%#lx R12=%#lx R13=%#lx R14=%#lx R15=%#lx\n",
|
||||
Frame->r8, Frame->r9, Frame->r10, Frame->r11, Frame->r12, Frame->r13,
|
||||
Frame->r14, Frame->r15);
|
||||
#endif
|
||||
#if defined(a86)
|
||||
#if defined(__amd64__) || defined(__i386__)
|
||||
ExPrint("AX=%#lx BX=%#lx CX=%#lx DX=%#lx SI=%#lx DI=%#lx BP=%#lx SP=%#lx\n",
|
||||
|
||||
#ifdef a64
|
||||
#ifdef __amd64__
|
||||
Frame->rax, Frame->rbx, Frame->rcx, Frame->rdx, Frame->rsi, Frame->rdi,
|
||||
Frame->rbp, Frame->rsp);
|
||||
#else
|
||||
Frame->eax, Frame->ebx, Frame->ecx, Frame->edx, Frame->esi, Frame->edi,
|
||||
Frame->ebp, Frame->esp);
|
||||
#endif /* a64 */
|
||||
#endif /* __amd64__ */
|
||||
|
||||
ExPrint("IP=%#lx FL=%#lx INT=%#lx ERR=%#lx\n",
|
||||
|
||||
#ifdef a64
|
||||
#ifdef __amd64__
|
||||
Frame->rip, Frame->rflags.raw,
|
||||
#else
|
||||
Frame->eip, Frame->eflags.raw,
|
||||
#endif /* a64 */
|
||||
#endif /* __amd64__ */
|
||||
Frame->InterruptNumber, Frame->ErrorCode);
|
||||
#endif /* a86 */
|
||||
|
||||
@ -233,14 +233,14 @@ nsa __noreturn void HandleExceptionInsideException(CPU::ExceptionFrame *Frame)
|
||||
ExPrint("\x1b[0m-----------------------------------------------\n");
|
||||
ExPrint("Exception inside exception: %#lx at %#lx\n",
|
||||
Frame->InterruptNumber,
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
Frame->rip);
|
||||
#elif defined(a32)
|
||||
#elif defined(__i386__)
|
||||
Frame->eip);
|
||||
#elif defined(aa64)
|
||||
#elif defined(__aarch64__)
|
||||
Frame->pc);
|
||||
#endif
|
||||
#if defined(a86)
|
||||
#if defined(__amd64__) || defined(__i386__)
|
||||
ExPrint("CR0=%#lx CR2=%#lx CR3=%#lx CR4=%#lx CR8=%#lx\n",
|
||||
Frame->cr0, Frame->cr2, Frame->cr3, Frame->cr4, Frame->cr8);
|
||||
ExPrint("DR0=%#lx DR1=%#lx DR2=%#lx DR3=%#lx DR6=%#lx DR7=%#lx\n",
|
||||
@ -248,29 +248,29 @@ nsa __noreturn void HandleExceptionInsideException(CPU::ExceptionFrame *Frame)
|
||||
ExPrint("GS=%#lx FS=%#lx ES=%#lx DS=%#lx SS=%#lx CS=%#lx\n",
|
||||
Frame->gs, Frame->fs, Frame->es, Frame->ds, Frame->ss, Frame->cs);
|
||||
#endif
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
ExPrint("R8=%#lx R9=%#lx R10=%#lx R11=%#lx R12=%#lx R13=%#lx R14=%#lx R15=%#lx\n",
|
||||
Frame->r8, Frame->r9, Frame->r10, Frame->r11, Frame->r12, Frame->r13,
|
||||
Frame->r14, Frame->r15);
|
||||
#endif
|
||||
#if defined(a86)
|
||||
#if defined(__amd64__) || defined(__i386__)
|
||||
ExPrint("AX=%#lx BX=%#lx CX=%#lx DX=%#lx SI=%#lx DI=%#lx BP=%#lx SP=%#lx\n",
|
||||
|
||||
#ifdef a64
|
||||
#ifdef __amd64__
|
||||
Frame->rax, Frame->rbx, Frame->rcx, Frame->rdx, Frame->rsi, Frame->rdi,
|
||||
Frame->rbp, Frame->rsp);
|
||||
#else
|
||||
Frame->eax, Frame->ebx, Frame->ecx, Frame->edx, Frame->esi, Frame->edi,
|
||||
Frame->ebp, Frame->esp);
|
||||
#endif /* a64 */
|
||||
#endif /* __amd64__ */
|
||||
|
||||
ExPrint("IP=%#lx FL=%#lx INT=%#lx ERR=%#lx\n",
|
||||
|
||||
#ifdef a64
|
||||
#ifdef __amd64__
|
||||
Frame->rip, Frame->rflags.raw,
|
||||
#else
|
||||
Frame->eip, Frame->eflags.raw,
|
||||
#endif /* a64 */
|
||||
#endif /* __amd64__ */
|
||||
Frame->InterruptNumber, Frame->ErrorCode);
|
||||
#endif /* a86 */
|
||||
Display->UpdateBuffer();
|
||||
|
@ -27,10 +27,10 @@
|
||||
#include <cpu.hpp>
|
||||
#include <io.h>
|
||||
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
#include "../../../arch/amd64/cpu/gdt.hpp"
|
||||
#elif defined(a32)
|
||||
#elif defined(aa64)
|
||||
#elif defined(__i386__)
|
||||
#elif defined(__aarch64__)
|
||||
#endif
|
||||
|
||||
#include "../../../kernel.h"
|
||||
|
@ -31,10 +31,10 @@
|
||||
#include <cpu.hpp>
|
||||
#include <io.h>
|
||||
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
#include "../../../arch/amd64/cpu/gdt.hpp"
|
||||
#elif defined(a32)
|
||||
#elif defined(aa64)
|
||||
#elif defined(__i386__)
|
||||
#elif defined(__aarch64__)
|
||||
#endif
|
||||
|
||||
#include "../../../kernel.h"
|
||||
|
@ -28,10 +28,10 @@
|
||||
#include <cpu.hpp>
|
||||
#include <io.h>
|
||||
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
#include "../../../arch/amd64/cpu/gdt.hpp"
|
||||
#elif defined(a32)
|
||||
#elif defined(aa64)
|
||||
#elif defined(__i386__)
|
||||
#elif defined(__aarch64__)
|
||||
#endif
|
||||
|
||||
#include "../../../kernel.h"
|
||||
@ -107,7 +107,7 @@ nsa static inline int GetLetterFromScanCode(uint8_t ScanCode)
|
||||
|
||||
nsa void CrashPS2KeyboardDriver::PS2Wait(bool Output)
|
||||
{
|
||||
#if defined(a86)
|
||||
#if defined(__amd64__) || defined(__i386__)
|
||||
TimeoutCallNumber++;
|
||||
int timeout = 100000;
|
||||
PS2_STATUSES status = {.Raw = inb(PS2_STATUS)};
|
||||
@ -153,7 +153,7 @@ nsa CrashPS2KeyboardDriver::CrashPS2KeyboardDriver() : Interrupts::Handler(1) /*
|
||||
|
||||
/* Dots will be printed at the bottom of the screen as a progress bar. */
|
||||
ExPrint("\x1b[%d;%dH", (Display->GetWidth / CrashFontRenderer.CurrentFont->GetInfo().Width) - 2, 0);
|
||||
#if defined(a86)
|
||||
#if defined(__amd64__) || defined(__i386__)
|
||||
|
||||
/* Disable port 1 & 2 */
|
||||
{
|
||||
@ -355,14 +355,14 @@ nsa CrashPS2KeyboardDriver::CrashPS2KeyboardDriver() : Interrupts::Handler(1) /*
|
||||
|
||||
ExPrint(".");
|
||||
|
||||
#endif // defined(a86)
|
||||
#endif // defined(__amd64__) || defined(__i386__)
|
||||
|
||||
CPU::Interrupts(CPU::Enable);
|
||||
}
|
||||
|
||||
nsa void CrashPS2KeyboardDriver::OnInterruptReceived(CPU::TrapFrame *)
|
||||
{
|
||||
#if defined(a86)
|
||||
#if defined(__amd64__) || defined(__i386__)
|
||||
uint8_t scanCode = inb(PS2_DATA);
|
||||
|
||||
if (scanCode == KEY_D_TAB ||
|
||||
@ -412,5 +412,5 @@ nsa void CrashPS2KeyboardDriver::OnInterruptReceived(CPU::TrapFrame *)
|
||||
}
|
||||
Display->UpdateBuffer(); /* Update as we type. */
|
||||
}
|
||||
#endif // a64 || a32
|
||||
#endif // __amd64__ || __i386__
|
||||
}
|
||||
|
@ -27,10 +27,10 @@
|
||||
#include <cpu.hpp>
|
||||
#include <io.h>
|
||||
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
#include "../../../arch/amd64/cpu/gdt.hpp"
|
||||
#elif defined(a32)
|
||||
#elif defined(aa64)
|
||||
#elif defined(__i386__)
|
||||
#elif defined(__aarch64__)
|
||||
#endif
|
||||
|
||||
#include "../../../kernel.h"
|
||||
|
@ -27,10 +27,10 @@
|
||||
#include <cpu.hpp>
|
||||
#include <io.h>
|
||||
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
#include "../../../arch/amd64/cpu/gdt.hpp"
|
||||
#elif defined(a32)
|
||||
#elif defined(aa64)
|
||||
#elif defined(__i386__)
|
||||
#elif defined(__aarch64__)
|
||||
#endif
|
||||
|
||||
#include "../../../kernel.h"
|
||||
|
@ -27,13 +27,13 @@
|
||||
#include <cpu.hpp>
|
||||
#include <io.h>
|
||||
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
#include "../../arch/amd64/cpu/gdt.hpp"
|
||||
#include "../arch/amd64/cpu/apic.hpp"
|
||||
#elif defined(a32)
|
||||
#elif defined(__i386__)
|
||||
#include "../../arch/i386/cpu/gdt.hpp"
|
||||
#include "../arch/i386/cpu/apic.hpp"
|
||||
#elif defined(aa64)
|
||||
#elif defined(__aarch64__)
|
||||
#endif
|
||||
|
||||
#include "../../kernel.h"
|
||||
@ -143,11 +143,11 @@ nsa const char *ExGetKSymbol(CPU::ExceptionFrame *Frame)
|
||||
Frame->rip > (uintptr_t)&_kernel_end)
|
||||
return "<OUTSIDE KERNEL>";
|
||||
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
return ExGetKSymbolByAddress(Frame->rip);
|
||||
#elif defined(a32)
|
||||
#elif defined(__i386__)
|
||||
return ExGetKSymbolByAddress(Frame->eip);
|
||||
#elif defined(aa64)
|
||||
#elif defined(__aarch64__)
|
||||
return ExGetKSymbolByAddress(Frame->pc);
|
||||
#endif
|
||||
}
|
||||
@ -299,23 +299,23 @@ nsa void DisplayMainScreen(CPU::ExceptionFrame *Frame)
|
||||
ExPrint("\nWe're sorry, but the system has encountered a critical error and needs to restart.\n");
|
||||
|
||||
ExPrint("\nError: %s (%s 0x%x)\n",
|
||||
#if defined(a86)
|
||||
#if defined(__amd64__) || defined(__i386__)
|
||||
x86Exceptions[Frame->InterruptNumber].Name,
|
||||
x86Exceptions[Frame->InterruptNumber].Mnemonic,
|
||||
#elif defined(aa64)
|
||||
#elif defined(__aarch64__)
|
||||
#error "AA64 not implemented"
|
||||
#endif
|
||||
Frame->InterruptNumber);
|
||||
#if defined(a86)
|
||||
#if defined(__amd64__) || defined(__i386__)
|
||||
ExPrint("Cause: %s\n", x86Exceptions[Frame->InterruptNumber].Cause);
|
||||
#endif
|
||||
ExPrint("Exception occurred in function %s (%#lx)\n",
|
||||
ExGetKSymbol(Frame),
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
Frame->rip);
|
||||
#elif defined(a32)
|
||||
#elif defined(__i386__)
|
||||
Frame->eip);
|
||||
#elif defined(aa64)
|
||||
#elif defined(__aarch64__)
|
||||
Frame->pc);
|
||||
#endif
|
||||
|
||||
@ -431,9 +431,9 @@ nsa void DisplayStackScreen(CPU::ExceptionFrame *Frame)
|
||||
{
|
||||
Memory::Virtual vmm;
|
||||
struct StackFrame *sf;
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
sf = (struct StackFrame *)Frame->rbp;
|
||||
#elif defined(a32)
|
||||
#elif defined(__i386__)
|
||||
sf = (struct StackFrame *)Frame->ebp;
|
||||
#endif
|
||||
|
||||
@ -455,11 +455,11 @@ nsa void DisplayStackScreen(CPU::ExceptionFrame *Frame)
|
||||
/* FIXME: Get symbol offset more efficiently */
|
||||
|
||||
uintptr_t fIP;
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
fIP = Frame->rip;
|
||||
#elif defined(a32)
|
||||
#elif defined(__i386__)
|
||||
fIP = Frame->eip;
|
||||
#elif defined(aa64)
|
||||
#elif defined(__aarch64__)
|
||||
fIP = Frame->pc;
|
||||
#endif
|
||||
|
||||
|
@ -21,10 +21,10 @@
|
||||
#include <smp.hpp>
|
||||
#include <cpu.hpp>
|
||||
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
#include "../../arch/amd64/cpu/gdt.hpp"
|
||||
#elif defined(a32)
|
||||
#elif defined(aa64)
|
||||
#elif defined(__i386__)
|
||||
#elif defined(__aarch64__)
|
||||
#endif
|
||||
|
||||
#include "../../kernel.h"
|
||||
@ -32,26 +32,26 @@
|
||||
#ifdef DEBUG
|
||||
nsa void dbgPrint(CPU::ExceptionFrame *Frame)
|
||||
{
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
debug("FS=%#lx GS=%#lx SS=%#lx CS=%#lx DS=%#lx", Frame->fs, Frame->gs, Frame->ss, Frame->cs, Frame->ds);
|
||||
debug("R8=%#lx R9=%#lx R10=%#lx R11=%#lx", Frame->r8, Frame->r9, Frame->r10, Frame->r11);
|
||||
debug("R12=%#lx R13=%#lx R14=%#lx R15=%#lx", Frame->r12, Frame->r13, Frame->r14, Frame->r15);
|
||||
debug("RAX=%#lx RBX=%#lx RCX=%#lx RDX=%#lx", Frame->rax, Frame->rbx, Frame->rcx, Frame->rdx);
|
||||
debug("RSI=%#lx RDI=%#lx RBP=%#lx RSP=%#lx", Frame->rsi, Frame->rdi, Frame->rbp, Frame->rsp);
|
||||
debug("RIP=%#lx RFL=%#lx INT=%#lx ERR=%#lx", Frame->rip, Frame->rflags.raw, Frame->InterruptNumber, Frame->ErrorCode);
|
||||
#elif defined(a32)
|
||||
#elif defined(__i386__)
|
||||
debug("FS=%#x GS=%#x CS=%#x DS=%#x", Frame->fs, Frame->gs, Frame->cs, Frame->ds);
|
||||
debug("EAX=%#x EBX=%#x ECX=%#x EDX=%#x", Frame->eax, Frame->ebx, Frame->ecx, Frame->edx);
|
||||
debug("ESI=%#x EDI=%#x EBP=%#x ESP=%#x", Frame->esi, Frame->edi, Frame->ebp, Frame->esp);
|
||||
debug("EIP=%#x EFL=%#x INT=%#x ERR=%#x", Frame->eip, Frame->eflags.raw, Frame->InterruptNumber, Frame->ErrorCode);
|
||||
#elif defined(aa64)
|
||||
#elif defined(__aarch64__)
|
||||
#endif
|
||||
|
||||
#if defined(a86)
|
||||
#if defined(__amd64__) || defined(__i386__)
|
||||
debug("CR2=%#lx CR3=%#lx", Frame->cr2, Frame->cr3);
|
||||
#endif // defined(a86)
|
||||
#endif // defined(__amd64__) || defined(__i386__)
|
||||
|
||||
#if defined(a64)
|
||||
#if defined(__amd64__)
|
||||
debug("RFL: CF:%s PF:%s AF:%s ZF:%s SF:%s TF:%s IF:%s DF:%s OF:%s IOPL:%s NT:%s RF:%s VM:%s AC:%s VIF:%s VIP:%s ID:%s AlwaysOne:%d R0:%#x R1:%#x R2:%#x R3:%#x",
|
||||
Frame->rflags.CF ? "True " : "False", Frame->rflags.PF ? "True " : "False", Frame->rflags.AF ? "True " : "False", Frame->rflags.ZF ? "True " : "False",
|
||||
Frame->rflags.SF ? "True " : "False", Frame->rflags.TF ? "True " : "False", Frame->rflags.IF ? "True " : "False", Frame->rflags.DF ? "True " : "False",
|
||||
@ -59,7 +59,7 @@ nsa void dbgPrint(CPU::ExceptionFrame *Frame)
|
||||
Frame->rflags.VM ? "True " : "False", Frame->rflags.AC ? "True " : "False", Frame->rflags.VIF ? "True " : "False", Frame->rflags.VIP ? "True " : "False",
|
||||
Frame->rflags.ID ? "True " : "False", Frame->rflags.AlwaysOne,
|
||||
Frame->rflags.Reserved0, Frame->rflags.Reserved1, Frame->rflags.Reserved2, Frame->rflags.Reserved3);
|
||||
#elif defined(a32)
|
||||
#elif defined(__i386__)
|
||||
debug("EFL: CF:%s PF:%s AF:%s ZF:%s SF:%s TF:%s IF:%s DF:%s OF:%s IOPL:%s NT:%s RF:%s VM:%s AC:%s VIF:%s VIP:%s ID:%s AlwaysOne:%d R0:%#x R1:%#x R2:%#x",
|
||||
Frame->eflags.CF ? "True " : "False", Frame->eflags.PF ? "True " : "False", Frame->eflags.AF ? "True " : "False", Frame->eflags.ZF ? "True " : "False",
|
||||
Frame->eflags.SF ? "True " : "False", Frame->eflags.TF ? "True " : "False", Frame->eflags.IF ? "True " : "False", Frame->eflags.DF ? "True " : "False",
|
||||
@ -67,7 +67,7 @@ nsa void dbgPrint(CPU::ExceptionFrame *Frame)
|
||||
Frame->eflags.VM ? "True " : "False", Frame->eflags.AC ? "True " : "False", Frame->eflags.VIF ? "True " : "False", Frame->eflags.VIP ? "True " : "False",
|
||||
Frame->eflags.ID ? "True " : "False", Frame->eflags.AlwaysOne,
|
||||
Frame->eflags.Reserved0, Frame->eflags.Reserved1, Frame->eflags.Reserved2);
|
||||
#elif defined(aa64)
|
||||
#elif defined(__aarch64__)
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user