APIC implementation (not working as expected)

This commit is contained in:
Alex
2022-10-17 04:05:44 +03:00
parent c5b4666b50
commit c944f57a3b
15 changed files with 272 additions and 153 deletions

View File

@ -3,18 +3,19 @@
#include <types.h>
#include <cpu.hpp>
#include <smp.hpp>
namespace Interrupts
{
#if defined(__amd64__)
extern void *apic;
extern void *apic[MAX_CPU];
#elif defined(__i386__)
extern void *apic;
extern void *apic[MAX_CPU];
#elif defined(__aarch64__)
#endif
void Initialize(int Core);
void Enable();
void InitializeTimer();
void Enable(int Core);
void InitializeTimer(int Core);
class Handler
{
@ -36,7 +37,6 @@ namespace Interrupts
virtual void OnInterruptReceived(void *Frame);
#endif
};
}
#endif // !__FENNIX_KERNEL_INTERRUPTS_H__

View File

@ -16,21 +16,21 @@ namespace Power
/**
* @brief Get Advanced Configuration and Power Interface. (Available only on x32 and x64)
*
* @return void*
* @return void* (ACPI::ACPI *)
*/
void *GetACPI() { return this->acpi; }
/**
* @brief Get Differentiated System Description Table. (Available only on x32 and x64)
*
* @return void*
* @return void* (ACPI::DSDT *)
*/
void *GetDSDT() { return this->dsdt; }
/**
* @brief Get Multiple APIC Description Table. (Available only on x32 and x64)
*
* @return void*
* @return void* (ACPI::MADT *)
*/
void *GetMADT() { return this->madt; }