On Mon, 17 May 2004, Stefan Reinauer wrote:
There's a potential hint in src/arch/i386/lib/idt.c:biosint():
// cases in a good compiler are just as good as your own tables. switch (intnumber) { case 0 ... 15: [..]
#ifdef CONFIG_PCIBIOS case PCIBIOS: [..] #endif case MEMSIZE: [..] #ifdef CONFIG_INT21HANDLER case 0x15: [..] #endif default: [..] }
It looks like this case construct was done for readability, but in fact some kind of interrupt lookup table is needed to handle things correctly.
guilty as charged. I tried to make it readable but had no idea that we would need a table. Ignorance on my part.
ron