A) every interrupt handler starts with code like this:
SAVE_MOST \
ACK_##chip(mask) \
is there any gain in splitting "SAVE_MOST" into two parts, to ACK the
PIC[s] earlier?:
SAVE_EAX \ <----------- since AL gets clobbered in ACK_##chip(mask)
ACK_##chip(mask) \ <----- hey, we've acked the irq a few cycles earlier :)
SAVE_MOST_BUT_EAX \ <----- here we save the rest
B) and a related question. The slow interrupt handlers start with this code:
SYMBOL_NAME_STR(IRQ) #nr "_interrupt:\n\t" \
"pushl $-"#nr"-2\n\t" \
why is "-nr-2" pushed to the stack? A few lines later we do:
"pushl $" #nr "\n\t" \
which is "nr" to the stack. my best guess is that this is some kind
identification. But why twice?
-- a slightly puzzled mingo