Messages in this thread | | | Date | Fri, 4 Oct 2002 23:20:12 -0400 (EDT) | From | Alexander Viro <> | Subject | Re: oops in bk pull (oct 03) |
| |
On Fri, 4 Oct 2002, Linus Torvalds wrote:
> The more I think about this, the more convinced I am this is the case. We > just _mustn't_ set up a live PCI window at address 0, and expect it to not > cause confusion. > > Also, we've seen before that we must not blindly disable a PCI window > either, since that will kill the system when the host bridge is disabled > and there is any pending DMA, for example (*). We saw that earlier in the > 2.4.x tree - some host bridges will just ignore the disable (which means > that then we'd trigger the zero-base bug), and others will honour the > disable (which in turn will cause the DMA and other random problems). > > This is all probably dependently on host bridge / MCH behaviour, so it > probably works fine on 90%+ of all machines, but clearly breaks enough to > not be a viable approach in general.
It's getting better. The thing _does_ survive if there is no cacheline boundary between the calls of pci_write_config_dword(); otherwise it dies on that boundary. So it depends not only on machine and compiler, but on kernel config, and in a pretty random way (functions are aligned, indeed, but not cacheline-aligned, so change of length in a function can shift the rest of image relative to cachelines).
- 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/
| |