skift-org / skift

🥑 A modern delightful operating system
https://skiftos.org/
MIT License
2.27k stars 130 forks source link

apic: implement APIC and ACPI for SMP #388

Closed Supercip971 closed 6 months ago

Supercip971 commented 1 year ago

This wip pr implements everything befor implementing SMP.

(old message before scraping the mapping structure) I'm Making this PR as I'm not sure if this is the best way to implement it: - Storing the mapping only as a template argument - Storing the mapping as a value in the class, so we can store the mapping (if the virtual offset is dynamic instead of being a fixed value).
Supercip971 commented 1 year ago

Note: the madt (and the acpi later on) structure are implemented in a way to do this:

auto my_function(const Madt& madt)
{
       return madt.getFirstRecord<Madt::LapicRecord>();
} 

This uses the Iter structure (which needs to be fixed, I'm working on it in a separate pull request).

sleepy-monax commented 6 months ago

Closing this one since it's stalled, I might still merge it later but SMP is not my priority.