Hi, I'm AlmuHS, the Hurd SMP developer
Last week, we had talking in IRC about how to parse IRQs from MADT table. I write you to notice the progress in this topic.
At first, I've added a new case for IRQ Override Entry in the APIC parser code, and finished the most of IRQ Override parsing from MADT table. You can check the progress here:
Some things, as the initialization to a defined value, is missing yet. I added this defines, but I'm not sure about how to use them in the code.
#define APIC_IRQ_OVERRIDE_ACTIVE_LOW 2
#define APIC_IRQ_OVERRIDE_LEVEL_TRIGGERED 8
At second thing, I've also did other code modifications: to improve the code style, I've moved the APIC structures to a sources file, and I've implemented a set of functions to manipulate these following an OOP-like model.
Now, all operations and access to APIC structures must be done using these functions.
You can see this new "library" here:
I've also done some little changes in APIC header, renaming some structures to better names
You can see all the changes in the commits log in my GitHub repository
If the development goes well, the first patch can be ready in a weeks.
Check my code and take me your opinions about this.
Thanks, and I wait your response