Add initial classes representing APIC

This commit is contained in:
Justin C. Miller
2018-05-01 01:03:19 -07:00
parent 6c3bbaa686
commit 428e4563d0
10 changed files with 382 additions and 158 deletions

View File

@@ -3,6 +3,9 @@
struct acpi_xsdt;
struct acpi_apic;
class lapic;
class ioapic;
class device_manager
{
public:
@@ -11,14 +14,13 @@ public:
device_manager() = delete;
device_manager(const device_manager &) = delete;
uint8_t * local_apic() const;
uint8_t * io_apic() const;
lapic * get_lapic() { return m_lapic; }
ioapic * get_ioapic(int i);
private:
uint32_t *m_local_apic;
uint32_t *m_io_apic;
uint32_t m_global_interrupt_base;
lapic *m_lapic;
ioapic *m_ioapics;
int m_num_ioapics;
void load_xsdt(const acpi_xsdt *xsdt);
void load_apic(const acpi_apic *apic);