thepowersgang wrote:You don't even need to do that. When an IRQ fires, you run both interrupt handlers. The handlers then ask the devices "what events were raised" (by reading the devices interrupt status field) and then do work accordingly. If the interrupt wasn't actually from that device, it'll do nothing here (and the other device's handeler will do something).
you mean that i should call both these two device interrupt handler in my irq 11 service routine? like:
isr_11_routine()
{
call ahci interrupt handler();
call e1000 interrupt handler();
}
this could solve my problem. Could this way may take pressure on system performance?
BTW, does this mean irq sharing?
i have another idea, could i solve the conflicts by changing the irq number in pci configuration to another one? Is this way reasonable?