And if that were done, Linux would not need to parse a PIRQ table, yes?
LinuxBIOS does not do that, it provides the tables and requires the OS to do so.
I've found that Linux up to 2.6.9 (I haven't tested .10) Dosen't do this fully. With my 440bx chipset there are config registers in the northbridge that control which IRQ line each of the PCI PIRQ lines are routed to. Even with a proper PIRQ table these registers are not setup and I get the same error reported.
I have code in my final_mainboard_fixup() that sets these registers such that they match my table and then every thing works fine.
I suggest you diff the output of lspci -xxx for the northbridge between linubios and factory bios and resolve all the differences with the datasheet.