mirror of
https://github.com/Fennix-Project/Kernel.git
synced 2025-07-11 07:19:20 +00:00
Rename "SafeFunction" macro to "NoSecurityAnalysis"
This commit is contained in:
@ -42,79 +42,79 @@ static const char *PageFaultDescriptions[8] = {
|
||||
"User process tried to write to a non-present page entry\n",
|
||||
"User process tried to write a page and caused a protection fault\n"};
|
||||
|
||||
SafeFunction void DivideByZeroExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void DivideByZeroExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("Divide by zero exception\n");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void DebugExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void DebugExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
CrashHandler::EHPrint("Kernel triggered debug exception.\n");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void NonMaskableInterruptExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void NonMaskableInterruptExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("NMI exception");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void BreakpointExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void BreakpointExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("Breakpoint exception");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void OverflowExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void OverflowExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("Overflow exception");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void BoundRangeExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void BoundRangeExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("Bound range exception");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void InvalidOpcodeExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void InvalidOpcodeExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
CrashHandler::EHPrint("Kernel tried to execute an invalid opcode.\n");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void DeviceNotAvailableExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void DeviceNotAvailableExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("Device not available exception");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void DoubleFaultExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void DoubleFaultExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("Double fault exception");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void CoprocessorSegmentOverrunExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void CoprocessorSegmentOverrunExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("Coprocessor segment overrun exception");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void InvalidTSSExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void InvalidTSSExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("Invalid TSS exception");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void SegmentNotPresentExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void SegmentNotPresentExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("Segment not present exception");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void StackFaultExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void StackFaultExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
CPU::x64::SelectorErrorCode SelCode = {.raw = Frame->ErrorCode};
|
||||
#if defined(a64)
|
||||
@ -129,7 +129,7 @@ SafeFunction void StackFaultExceptionHandler(CPU::TrapFrame *Frame)
|
||||
CrashHandler::EHPrint("Error code: %#lx\n", Frame->ErrorCode);
|
||||
}
|
||||
|
||||
SafeFunction void GeneralProtectionExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void GeneralProtectionExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
CPU::x64::SelectorErrorCode SelCode = {.raw = Frame->ErrorCode};
|
||||
// switch (SelCode.Table)
|
||||
@ -156,7 +156,7 @@ SafeFunction void GeneralProtectionExceptionHandler(CPU::TrapFrame *Frame)
|
||||
CrashHandler::EHPrint("Index: %#x\n", SelCode.Idx);
|
||||
}
|
||||
|
||||
SafeFunction void PageFaultExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void PageFaultExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
CPU::x64::PageFaultErrorCode params = {.raw = (uint32_t)Frame->ErrorCode};
|
||||
#if defined(a64)
|
||||
@ -305,43 +305,43 @@ SafeFunction void PageFaultExceptionHandler(CPU::TrapFrame *Frame)
|
||||
#endif
|
||||
}
|
||||
|
||||
SafeFunction void x87FloatingPointExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void x87FloatingPointExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("x87 floating point exception");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void AlignmentCheckExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void AlignmentCheckExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("Alignment check exception");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void MachineCheckExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void MachineCheckExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("Machine check exception");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void SIMDFloatingPointExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void SIMDFloatingPointExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("SIMD floating point exception");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void VirtualizationExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void VirtualizationExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("Virtualization exception");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void SecurityExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void SecurityExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("Security exception");
|
||||
UNUSED(Frame);
|
||||
}
|
||||
|
||||
SafeFunction void UnknownExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa void UnknownExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
fixme("Unknown exception");
|
||||
UNUSED(Frame);
|
||||
|
@ -51,13 +51,13 @@ namespace CrashHandler
|
||||
int SBIdx = 255;
|
||||
CrashKeyboardDriver *kbd;
|
||||
|
||||
SafeFunction void printfWrapper(char c, void *unused)
|
||||
nsa void printfWrapper(char c, void *unused)
|
||||
{
|
||||
Display->Print(c, SBIdx, true);
|
||||
UNUSED(unused);
|
||||
}
|
||||
|
||||
SafeFunction void EHPrint(const char *Format, ...)
|
||||
nsa void EHPrint(const char *Format, ...)
|
||||
{
|
||||
va_list args;
|
||||
va_start(args, Format);
|
||||
@ -65,7 +65,7 @@ namespace CrashHandler
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
SafeFunction void EHDumpData(void *Address, unsigned long Length)
|
||||
nsa void EHDumpData(void *Address, unsigned long Length)
|
||||
{
|
||||
EHPrint("-------------------------------------------------------------------------\n");
|
||||
Display->SetBuffer(SBIdx);
|
||||
@ -101,7 +101,7 @@ namespace CrashHandler
|
||||
Display->SetBuffer(SBIdx);
|
||||
}
|
||||
|
||||
SafeFunction char *TrimWhiteSpace(char *str)
|
||||
nsa char *TrimWhiteSpace(char *str)
|
||||
{
|
||||
char *end;
|
||||
while (*str == ' ')
|
||||
@ -117,7 +117,7 @@ namespace CrashHandler
|
||||
|
||||
CRData crashdata{};
|
||||
|
||||
SafeFunction void DisplayTopOverlay()
|
||||
nsa void DisplayTopOverlay()
|
||||
{
|
||||
Video::ScreenBuffer *sb = Display->GetBuffer(SBIdx);
|
||||
Video::Font *f = Display->GetCurrentFont();
|
||||
@ -252,7 +252,7 @@ namespace CrashHandler
|
||||
}
|
||||
}
|
||||
|
||||
SafeFunction void DisplayBottomOverlay()
|
||||
nsa void DisplayBottomOverlay()
|
||||
{
|
||||
Video::ScreenBuffer *sb = Display->GetBuffer(SBIdx);
|
||||
Video::Font *f = Display->GetCurrentFont();
|
||||
@ -266,7 +266,7 @@ namespace CrashHandler
|
||||
EHPrint("\eAAAAAA> \eFAFAFA");
|
||||
}
|
||||
|
||||
SafeFunction void ArrowInput(uint8_t key)
|
||||
nsa void ArrowInput(uint8_t key)
|
||||
{
|
||||
switch (key)
|
||||
{
|
||||
@ -337,7 +337,7 @@ namespace CrashHandler
|
||||
Display->SetBuffer(SBIdx);
|
||||
}
|
||||
|
||||
SafeFunction void UserInput(char *Input)
|
||||
nsa void UserInput(char *Input)
|
||||
{
|
||||
SmartCriticalSection(UserInputLock);
|
||||
Display->ClearBuffer(SBIdx);
|
||||
@ -816,7 +816,7 @@ namespace CrashHandler
|
||||
Display->SetBuffer(SBIdx);
|
||||
}
|
||||
|
||||
SafeFunction void StopAllCores()
|
||||
nsa void StopAllCores()
|
||||
{
|
||||
#if defined(a86)
|
||||
/* FIXME: Can't send IPIs to other cores
|
||||
@ -862,7 +862,7 @@ namespace CrashHandler
|
||||
#endif
|
||||
}
|
||||
|
||||
SafeFunction inline bool Handle_x86_64(CPU::TrapFrame *Frame)
|
||||
nsa inline bool Handle_x86_64(CPU::TrapFrame *Frame)
|
||||
{
|
||||
#ifdef a64
|
||||
trace("Exception at %#lx(%s)", Frame->rip,
|
||||
@ -960,7 +960,7 @@ namespace CrashHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
SafeFunction inline bool Handle_x86_32(CPU::TrapFrame *Frame)
|
||||
nsa inline bool Handle_x86_32(CPU::TrapFrame *Frame)
|
||||
{
|
||||
#ifdef a32
|
||||
trace("Exception at %#lx(%s)", Frame->eip,
|
||||
@ -1059,7 +1059,7 @@ namespace CrashHandler
|
||||
return false;
|
||||
}
|
||||
|
||||
SafeFunction inline void Print_x86_64(CPU::TrapFrame *Frame)
|
||||
nsa inline void Print_x86_64(CPU::TrapFrame *Frame)
|
||||
{
|
||||
#ifdef a64
|
||||
CPU::x64::CR0 cr0 = CPU::x64::readcr0();
|
||||
@ -1132,7 +1132,7 @@ namespace CrashHandler
|
||||
#endif
|
||||
}
|
||||
|
||||
SafeFunction inline void Print_x86_32(CPU::TrapFrame *Frame)
|
||||
nsa inline void Print_x86_32(CPU::TrapFrame *Frame)
|
||||
{
|
||||
#ifdef a32
|
||||
CPU::x32::CR0 cr0 = CPU::x32::readcr0();
|
||||
@ -1192,7 +1192,7 @@ namespace CrashHandler
|
||||
#endif
|
||||
}
|
||||
|
||||
SafeFunction void Handle(void *Data)
|
||||
nsa void Handle(void *Data)
|
||||
{
|
||||
// TODO: SUPPORT SMP
|
||||
CPU::Interrupts(CPU::Disable);
|
||||
|
@ -236,7 +236,7 @@ namespace CrashHandler
|
||||
int BackSpaceLimit = 0;
|
||||
static char UserInputBuffer[1024];
|
||||
|
||||
SafeFunction void CrashKeyboardDriver::OnInterruptReceived(CPU::TrapFrame *Frame)
|
||||
nsa void CrashKeyboardDriver::OnInterruptReceived(CPU::TrapFrame *Frame)
|
||||
{
|
||||
#if defined(a86)
|
||||
UNUSED(Frame);
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
namespace CrashHandler
|
||||
{
|
||||
SafeFunction void DisplayConsoleScreen(CRData data)
|
||||
nsa void DisplayConsoleScreen(CRData data)
|
||||
{
|
||||
EHPrint("TODO");
|
||||
UNUSED(data);
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
namespace CrashHandler
|
||||
{
|
||||
SafeFunction void DisplayDetailsScreen(CRData data)
|
||||
nsa void DisplayDetailsScreen(CRData data)
|
||||
{
|
||||
if (data.Process)
|
||||
EHPrint("\e7981FCCurrent Process: %s(%ld)\n",
|
||||
|
@ -44,7 +44,7 @@ static const char *PagefaultDescriptions[8] = {
|
||||
|
||||
namespace CrashHandler
|
||||
{
|
||||
SafeFunction void DisplayMainScreen(CRData data)
|
||||
nsa void DisplayMainScreen(CRData data)
|
||||
{
|
||||
CPU::TrapFrame *Frame = data.Frame;
|
||||
|
||||
|
@ -35,7 +35,7 @@
|
||||
|
||||
namespace CrashHandler
|
||||
{
|
||||
SafeFunction void DisplayStackFrameScreen(CRData data)
|
||||
nsa void DisplayStackFrameScreen(CRData data)
|
||||
{
|
||||
EHPrint("\eFAFAFATracing 10 frames...");
|
||||
TraceFrames(data, 10, KernelSymbolTable, true);
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
namespace CrashHandler
|
||||
{
|
||||
SafeFunction void DisplayTasksScreen(CRData data)
|
||||
nsa void DisplayTasksScreen(CRData data)
|
||||
{
|
||||
const char *StatusColor[] = {
|
||||
"FF0000", // Unknown
|
||||
|
@ -42,7 +42,7 @@ namespace CrashHandler
|
||||
uintptr_t rip;
|
||||
};
|
||||
|
||||
SafeFunction void TraceFrames(CRData data, int Count,
|
||||
nsa void TraceFrames(CRData data, int Count,
|
||||
SymbolResolver::Symbols *SymHandle,
|
||||
bool Kernel)
|
||||
{
|
||||
|
@ -32,7 +32,7 @@
|
||||
|
||||
#include "../../kernel.h"
|
||||
|
||||
SafeFunction bool UserModeExceptionHandler(CPU::TrapFrame *Frame)
|
||||
nsa bool UserModeExceptionHandler(CPU::TrapFrame *Frame)
|
||||
{
|
||||
CPUData *CurCPU = GetCurrentCPU();
|
||||
Tasking::PCB *CurProc = CurCPU->CurrentProcess;
|
||||
|
@ -37,7 +37,7 @@
|
||||
#include "crashhandler.hpp"
|
||||
#include "../kernel.h"
|
||||
|
||||
extern "C" SafeFunction void ExceptionHandler(void *Data)
|
||||
extern "C" nsa void ExceptionHandler(void *Data)
|
||||
{
|
||||
CrashHandler::Handle(Data);
|
||||
}
|
||||
@ -192,7 +192,7 @@ namespace Interrupts
|
||||
#endif
|
||||
}
|
||||
|
||||
SafeFunction void RemoveAll()
|
||||
nsa void RemoveAll()
|
||||
{
|
||||
forItr(itr, RegisteredEvents)
|
||||
{
|
||||
@ -280,7 +280,7 @@ namespace Interrupts
|
||||
warn("IRQ%d not found.", InterruptNumber);
|
||||
}
|
||||
|
||||
extern "C" SafeFunction void MainInterruptHandler(void *Data)
|
||||
extern "C" nsa void MainInterruptHandler(void *Data)
|
||||
{
|
||||
#if defined(a64)
|
||||
CPU::x64::TrapFrame *Frame = (CPU::x64::TrapFrame *)Data;
|
||||
|
@ -54,7 +54,7 @@ namespace UniversalAsynchronousReceiverTransmitter
|
||||
|
||||
/* TODO: Serial Port implementation needs reword. https://wiki.osdev.org/Serial_Ports */
|
||||
|
||||
SafeFunction NIF UART::UART(SerialPorts Port)
|
||||
nsa NIF UART::UART(SerialPorts Port)
|
||||
{
|
||||
#if defined(a86)
|
||||
if (Port == COMNULL)
|
||||
@ -132,9 +132,9 @@ namespace UniversalAsynchronousReceiverTransmitter
|
||||
#endif
|
||||
}
|
||||
|
||||
SafeFunction NIF UART::~UART() {}
|
||||
nsa NIF UART::~UART() {}
|
||||
|
||||
SafeFunction NIF void UART::Write(uint8_t Char)
|
||||
nsa NIF void UART::Write(uint8_t Char)
|
||||
{
|
||||
if (!this->IsAvailable)
|
||||
return;
|
||||
@ -148,7 +148,7 @@ namespace UniversalAsynchronousReceiverTransmitter
|
||||
e->OnSent(Char);
|
||||
}
|
||||
|
||||
SafeFunction NIF uint8_t UART::Read()
|
||||
nsa NIF uint8_t UART::Read()
|
||||
{
|
||||
if (!this->IsAvailable)
|
||||
return 0;
|
||||
@ -168,13 +168,13 @@ namespace UniversalAsynchronousReceiverTransmitter
|
||||
}
|
||||
}
|
||||
|
||||
SafeFunction NIF Events::Events(SerialPorts Port)
|
||||
nsa NIF Events::Events(SerialPorts Port)
|
||||
{
|
||||
this->Port = Port;
|
||||
RegisteredEvents.push_back(this);
|
||||
}
|
||||
|
||||
SafeFunction NIF Events::~Events()
|
||||
nsa NIF Events::~Events()
|
||||
{
|
||||
forItr(itr, RegisteredEvents)
|
||||
{
|
||||
|
Reference in New Issue
Block a user