Colin Jensen wrote:
You can't seriously suggest that the operating system should be able to detect the motherboard type automatically! While in *your* application, you could hard code the motherboard setups into Linux, this is generally Not A Solution.
Not motherboard type. Motherboard chipset type.
Marcus put it best: "IRQ assignment can't be done in the operating system". And this is for a simple reason: operating systems generally can't be hard-coded to a particular motherboard. And THERE IS NO WAY to automatically detect a motherboard type. NONE. NADA. CAN'T GO THERE. The BIOS, since it is going to be *glued* to the motherboard, is a much more reasonable choice for hard coding...
You CAN detect a motherboard type, by grepping strings out of the BIOS ROM. But that is not the point here. The motherboard CHIPSET type is easily detected, generally by a simple PCI vendor/device id match.
WRT IRQ assignment, Marcus is wrong. In a hotplug system, the OS _must_ do the assignment. Even Microsoft knows this[1]. That is why most modern BIOS ROMs come with interrupt routing tables, which give the OS a [somewhat] standard method for
This is also why newer motherboards include a Windows' "IRQ driver" or similar -- so the --OS-- can talk to your motherboard.
Jeff
[1] http://www.microsoft.com/hwdev/busbios/pciirq.htm