On Sun, 2005-Apr-10 19:31:24 -0700, Matthew Dillon wrote: > The only way for an operating system to figure this stuff out on its > own is to understand the umpteen different bridge chips out there, > test physical interrupt sources (which is not always possible) to see > how they are actually routed, and ignore the BIOS completely. ISTR the old ISA probes for things like sio would raise an interrupt in the 16[45]50 and see what IRQ appeared. Given a plethora of bridges, this becomes more difficult if you can't trust that the BIOS has done anything right (like even routing the interrupt from source to an upstream interrupt controller). Presumably, these motherboards run Winbloze. And I understand that Winbloze uses interrupts, so presumably interrupt routing stuffups will break Winbloze just as badly as *BSD or Linux. What is Winbloze doing differently to work around broken BIOSes? > Intel really screwed up big time. Motorola had a much, much, MUCH > better mechanism where the actual devices generated the actual vector > number on the interrupt bus and the only thing you might have hardwired > would have been the IPL. But Intel doesn't work that way. Their stuff > is just totally screwed when it comes to handling interrupts. It's > completely 100% guarenteed pungent crapola to anyone who has ever > built hardware with a *REAL* interrupt subsystem. I'm as big a fan of Intel as you are but I don't think the problem here is Intel. I do agree that interrupt handling in the PC is stuffed - designing active-high interrupts using hardware that would automatically support wired-or of active-low interrupts suggests that someone in IBM had either done their tie up far too tight or had been over-indulging in recreational substances. Both the 8080 and 8085 supported vectored interrupts to a limited extent. The 6800 and 6809 don't support vectored interrupts. The Z-80, 68000 and 8086 all fully support vectored interrupts. But the Z-80 and 68000 both need the designer to (exclusively) use the Z-80 or 68000 peripheral chips in order to take advantage of their vectored interrupts. Using a separate interrupt controller means that you can use bog-standard peripherals that just have INTR outputs. It's a pity that the modern PC is hamstrung by design decisions made over 25 years ago. -- Peter JeremyReceived on Mon Apr 11 2005 - 06:30:14 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:31 UTC