![]() | |||||||||||||
Messages in this thread |
On Sun, 2002-12-22 at 08:15, Paul Mackerras wrote: > Linus Torvalds writes: > > > Actually, I think it's certainly valid to not allow "printk()" to happen > > around the BAR probing, at least at bootup when we control all the CPU's > > tightly anyway. > > I'd like us to disable interrupts too. On powermacs, the interrupt > controller is typically inside a combo I/O ASIC which is on the PCI > bus. If we take an interrupt while the ASIC's BAR is relocated or > turned off, we will get a machine check when we try to access the > interrupt controller and the kernel will die at that point. Actually, it's even worse, as the current probe code also turn off address decoders of PCI<->PCI bridges when probing, and in a lot of case, the combo ASIC containing the interrupt controller _is_ behind a PCI<->PCI bridge ! Same problem with serial port (so printk is unsafe for quite a while on serial consoles) etc... The code has a comment that clearly says that we don't know why address decoding is turned off and that should be fixed, so I suggest we either fix it now or replace the comment with an explanation of why we need to turn it off ;) Eventually, turning it off could be made an exception via some quirks mecanism. Ben. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||||
| Last update: 2005-03-22 13:31 [from the cache] ©2003-2008 | |||||||||||||