![]() | |||||||||||
Messages in this thread Complete thread (EXPERIMENTAL) |
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. | ||||||||||
![]() | |||||||||||
| Last update: 2005-03-22 12:31 [W:1.056 / U:0.860 seconds] ©2003-2005 Jasper Spaans | |||||||||||