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,6 +3,9 @@
#include <types.h>
#include <interrupts.hpp>
#include <cpu.hpp>
namespace APIC
{
class APIC
@ -55,9 +58,19 @@ namespace APIC
uint32_t IOGetMaxRedirect(uint32_t APICID);
void RawRedirectIRQ(uint8_t Vector, uint32_t GSI, uint16_t Flags, int CPU, int Status);
void RedirectIRQ(int CPU, uint8_t IRQ, int Status);
APIC();
APIC(int Core);
~APIC();
};
class Timer : public Interrupts::Handler
{
private:
void OnInterruptReceived(CPU::x64::TrapFrame *Frame);
public:
Timer(APIC *apic);
~Timer();
};
}
#endif // !__FENNIX_KERNEL_APIC_H__