On Tue, 13 Jun 2006, Gross, Mark wrote: > > If you can spare a few blocks it's not too hard to write a low level > synchronous flash write code that works at panic time. I did this to a > 2.4.10 kernel a while back, and it was *very* useful for debugging > problems. Absolutely. The problem is, there's no safe and documented hardware to do that in general. On a standard PC, you have the RTC, and that's it ;( It used to be that you could toggle serial lines by hand, but that's not the case any more these days (they're not at a fixed address any more and generally needs tons of very chip-specific setup to even be visible to the CPU, but more importantly, most modern hardware doesn't even have the _connector_ any more). The Apple Mac Mini I can't even get to _beep_, which is really annoying. It's a wonderful debug sequence ("oh, I head 15 beeps, it got to point X"). Or rather, it's "wonderful" compared to something that gives you just one single piece of data after the reboot ;) Now, the LPC obviously does have the BIOS flash chip connected to it, but I suspect very few people would be happy with code that overwrites even just parts of that. I also suspect it varies a lot from machine to machine. I wasn't going to even try. The RTC chip actually has enough memory in it that I could have saved a lot more information, but the firmware (at least on the Mac Mini) will clear it on a full-post boot (and the whole point of this is that we _will_ do a full POST when the resume fails, of course). It even clears the second 128-byte RTC memory bank, from my testing ;( The real-time clock was literally the only thing I could find that didn't get cleared, and that obviously has some serious limitations size-wise. Linus