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:
https://github.com/AlmuHS/GNUMach_SMP/blob/smp-new/i386/i386at/acpi_parse_apic.c#L560-L564

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:
https://github.com/AlmuHS/GNUMach_SMP/blob/smp-new/i386/i386/apic.c

I've also done some little changes in APIC header, renaming some structures
to better names
https://github.com/AlmuHS/GNUMach_SMP/blob/smp-new/i386/i386/apic.h

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.
https://github.com/AlmuHS/GNUMach_SMP/commits/smp-new

Check my code and take me your opinions about this.
Thanks, and I wait your response

Reply via email to