mirror of
https://github.com/Fennix-Project/Kernel.git
synced 2025-05-28 15:34:33 +00:00
Fix for SIMD not being initialized
This commit is contained in:
parent
f54b46149d
commit
855384aead
@ -218,8 +218,11 @@ namespace CPU
|
||||
SSESupport = true;
|
||||
}
|
||||
|
||||
if (!Config.SIMD)
|
||||
if (Config.SIMD == false)
|
||||
{
|
||||
debug("Disabling SSE support...");
|
||||
SSESupport = false;
|
||||
}
|
||||
|
||||
if (PGESupport)
|
||||
{
|
||||
|
@ -378,21 +378,21 @@ ParseSuccess:
|
||||
case 'o':
|
||||
{
|
||||
value = cag_option_get_value(&context);
|
||||
strcmp(value, "true") ? config.InterruptsOnCrash = false : config.InterruptsOnCrash = true;
|
||||
strcmp(value, "true") == 0 ? config.InterruptsOnCrash = true : config.InterruptsOnCrash = false;
|
||||
KPrint("\eAAFFAAInterrupts on crash: %s", value);
|
||||
break;
|
||||
}
|
||||
case 'l':
|
||||
{
|
||||
value = cag_option_get_value(&context);
|
||||
strcmp(value, "true") ? config.UnlockDeadLock = false : config.UnlockDeadLock = true;
|
||||
strcmp(value, "true") == 0 ? config.UnlockDeadLock = true : config.UnlockDeadLock = false;
|
||||
KPrint("\eAAFFAAUnlocking the deadlock after 10 retries");
|
||||
break;
|
||||
}
|
||||
case 's':
|
||||
{
|
||||
value = cag_option_get_value(&context);
|
||||
strcmp(value, "true") ? config.SIMD = false : config.SIMD = true;
|
||||
strcmp(value, "true") == 0 ? config.SIMD = true : config.SIMD = false;
|
||||
KPrint("\eAAFFAASingle Instruction, Multiple Data (SIMD): %s", value);
|
||||
break;
|
||||
}
|
||||
|
20
Kernel.cpp
20
Kernel.cpp
@ -182,6 +182,8 @@ EXTERNC NIF void Main(BootInfo *Info)
|
||||
KPrint("CPU: \e8822AA%s \e8888FF%s (\e058C19%s\e8888FF)", CPU::Vendor(), CPU::Name(), CPU::Hypervisor());
|
||||
KPrint("Initializing GDT and IDT");
|
||||
Interrupts::Initialize(0);
|
||||
KPrint("Reading Kernel Parameters");
|
||||
Config = ParseConfig((char *)bInfo->Kernel.CommandLine);
|
||||
KPrint("Initializing CPU Features");
|
||||
CPU::InitializeFeatures(0);
|
||||
|
||||
@ -193,8 +195,6 @@ EXTERNC NIF void Main(BootInfo *Info)
|
||||
|
||||
KPrint("Loading Kernel Symbols");
|
||||
KernelSymbolTable = new SymbolResolver::Symbols((uintptr_t)Info->Kernel.FileBase);
|
||||
KPrint("Reading Kernel Parameters");
|
||||
Config = ParseConfig((char *)bInfo->Kernel.CommandLine);
|
||||
KPrint("Initializing Power Manager");
|
||||
PowerManager = new Power::Power;
|
||||
KPrint("Initializing PCI Manager");
|
||||
@ -380,17 +380,17 @@ EXTERNC __no_stack_protector NIF void BeforeShutdown()
|
||||
/* TODO: Announce shutdown */
|
||||
|
||||
trace("\n\n\n#################### SYSTEM SHUTTING DOWN ####################\n\n");
|
||||
delete NIManager;
|
||||
delete NIManager, NIManager = nullptr;
|
||||
|
||||
delete DiskManager;
|
||||
delete DriverManager;
|
||||
delete DiskManager, DiskManager = nullptr;
|
||||
delete DriverManager, DriverManager = nullptr;
|
||||
TaskManager->SignalShutdown();
|
||||
delete TaskManager;
|
||||
delete TaskManager, TaskManager = nullptr;
|
||||
if (RecoveryScreen)
|
||||
delete RecoveryScreen;
|
||||
delete vfs;
|
||||
delete TimeManager;
|
||||
delete Display;
|
||||
delete RecoveryScreen, RecoveryScreen = nullptr;
|
||||
delete vfs, vfs = nullptr;
|
||||
delete TimeManager, TimeManager = nullptr;
|
||||
delete Display, Display = nullptr;
|
||||
// PowerManager should not be called
|
||||
|
||||
// https://wiki.osdev.org/Calling_Global_Constructors
|
||||
|
Loading…
x
Reference in New Issue
Block a user