mirror of
https://github.com/Fennix-Project/Kernel.git
synced 2025-05-28 15:34:33 +00:00
Kernel now boots on BIOS systems
This commit is contained in:
parent
b60ec62bde
commit
6409dfdf0b
@ -52,11 +52,15 @@ namespace Power
|
||||
CPU::Stop();
|
||||
}
|
||||
|
||||
void Power::InitDSDT()
|
||||
{
|
||||
if (((ACPI::ACPI *)this->acpi)->FADT)
|
||||
this->dsdt = new ACPI::DSDT((ACPI::ACPI *)acpi);
|
||||
}
|
||||
|
||||
Power::Power()
|
||||
{
|
||||
this->acpi = new ACPI::ACPI(bInfo);
|
||||
if (((ACPI::ACPI *)this->acpi)->FADT)
|
||||
this->dsdt = new ACPI::DSDT((ACPI::ACPI *)acpi);
|
||||
this->madt = new ACPI::MADT(((ACPI::ACPI *)acpi)->MADT);
|
||||
trace("Power manager initialized");
|
||||
}
|
||||
|
@ -79,6 +79,7 @@ EXTERNC void Entry(BootInfo *Info)
|
||||
}
|
||||
KPrint("Enabling Interrupts on Bootstrap Processor");
|
||||
Interrupts::Enable(0);
|
||||
PowerManager->InitDSDT();
|
||||
KPrint("Initializing Timers");
|
||||
#if defined(__amd64__)
|
||||
TimeManager = new Time::time(PowerManager->GetACPI());
|
||||
|
@ -17,11 +17,11 @@ class LockClass
|
||||
{
|
||||
struct SpinLockData
|
||||
{
|
||||
uint64_t LockData;
|
||||
const char *CurrentHolder;
|
||||
const char *AttemptingToGet;
|
||||
uint64_t Count;
|
||||
long Core;
|
||||
uint64_t LockData = 0x0;
|
||||
const char *CurrentHolder = "(nul)";
|
||||
const char *AttemptingToGet = "(nul)";
|
||||
uint64_t Count = 0;
|
||||
long Core = 0;
|
||||
};
|
||||
|
||||
private:
|
||||
|
@ -44,6 +44,7 @@ namespace Power
|
||||
*/
|
||||
void Shutdown();
|
||||
|
||||
void InitDSDT();
|
||||
Power();
|
||||
~Power();
|
||||
};
|
||||
|
@ -15,6 +15,9 @@ public:
|
||||
|
||||
Vector()
|
||||
{
|
||||
#ifdef DEBUG_MEM_ALLOCATION
|
||||
debug("VECTOR INIT: Vector( )");
|
||||
#endif
|
||||
VectorCapacity = 0;
|
||||
VectorSize = 0;
|
||||
VectorBuffer = 0;
|
||||
@ -25,7 +28,7 @@ public:
|
||||
VectorCapacity = Size;
|
||||
VectorSize = Size;
|
||||
#ifdef DEBUG_MEM_ALLOCATION
|
||||
debug("VECTOR ALLOCATION: Vector( %lld )", Size);
|
||||
debug("VECTOR INIT: Vector( %lld )", Size);
|
||||
#endif
|
||||
VectorBuffer = new T[Size];
|
||||
}
|
||||
@ -35,7 +38,7 @@ public:
|
||||
VectorSize = Size;
|
||||
VectorCapacity = Size;
|
||||
#ifdef DEBUG_MEM_ALLOCATION
|
||||
debug("VECTOR ALLOCATION: Vector( %lld %llx )", Size, Initial);
|
||||
debug("VECTOR INIT: Vector( %lld %llx )", Size, Initial);
|
||||
#endif
|
||||
VectorBuffer = new T[Size];
|
||||
for (uint64_t i = 0; i < Size; i++)
|
||||
@ -47,7 +50,7 @@ public:
|
||||
VectorSize = Vector.VectorSize;
|
||||
VectorCapacity = Vector.VectorCapacity;
|
||||
#ifdef DEBUG_MEM_ALLOCATION
|
||||
debug("VECTOR ALLOCATION: Vector( <vector> )->Size: %lld", VectorSize);
|
||||
debug("VECTOR INIT: Vector( <vector> )->Size: %lld", VectorSize);
|
||||
#endif
|
||||
VectorBuffer = new T[VectorSize];
|
||||
for (uint64_t i = 0; i < VectorSize; i++)
|
||||
@ -57,7 +60,7 @@ public:
|
||||
~Vector()
|
||||
{
|
||||
#ifdef DEBUG_MEM_ALLOCATION
|
||||
debug("VECTOR ALLOCATION: ~Vector( ~%lx )", VectorBuffer);
|
||||
debug("VECTOR INIT: ~Vector( ~%lx )", VectorBuffer);
|
||||
#endif
|
||||
delete[] VectorBuffer;
|
||||
}
|
||||
@ -144,7 +147,7 @@ public:
|
||||
delete[] VectorBuffer;
|
||||
VectorSize = Vector.VectorSize;
|
||||
VectorCapacity = Vector.VectorCapacity;
|
||||
#ifdef DEBUG_MEM_ALLOCATION
|
||||
#ifdef DEBUG_MEM_ALLOCATION
|
||||
debug("VECTOR ALLOCATION: operator=( <vector> )->Size:%lld", VectorSize);
|
||||
#endif
|
||||
VectorBuffer = new T[VectorSize];
|
||||
|
Loading…
x
Reference in New Issue
Block a user