Re: [PATCH 0/2][concept RFC] x86: BIOS-save kernel log to disk upon panic

From: Rusty Russell
Date: Sun Jan 30 2011 - 21:59:59 EST

On Wed, 26 Jan 2011 09:28:36 am H. Peter Anvin wrote:
> On 01/25/2011 02:45 PM, Jeff Garzik wrote:
> > On 01/25/2011 05:16 PM, Randy Dunlap wrote:
> >> On Tue, 25 Jan 2011 17:10:49 -0500 Mark Lord wrote:
> >>
> >>> On 11-01-25 12:05 PM, Ahmed S. Darwish wrote:
> >>>>
> >>>> My current x86 laptop includes the very common ATA PIIX controller.
> >>>
> >>>
> >>> ata_piix is just about ideal for this sort of thing.
> >>>
> >>> Except, don't use the BIOS to write the logs,
> >>> but rather code/use a very simple set of polling-PIO
> >>> functions to talk directly through the PIIX to the drive.
> >>>
> >>> Really really simple code to do that, and it would likely
> >>> work with anything ata-piix, and most other non-AHCI chipsets too.
> >>>
> >>> Not perfect, but probably good enough for a lot of scenarios.
> >>> The old hd.c driver shows how to read/write a sector at a time,
> >>> and that kind of code is easily converted to simply poll for completion.
> >>
> >> I don't know how/where to find it, but Rusty Russell had a version of this
> >> many, many years ago.
> >
> > You beat me to the reply :)
> >
> >
> >
> > but IIRC there were updates and improvements.
> >
> "Not perfect" is really not good enough. You're writing to the disk, so
> it *has* to be perfect. That means dealing with having shared IDE/AHCI
> device and doing the right thing, and the possibility that the kernel
> has interrupts enabled, yadda yadda.

Not for the limited problem of trying to get some logs out.

My driver read the sectors, checked it was full of the magic signature, then
overwrote them. It's possible for that to screw up, but unlikely. The boot
script mailed it off to a central site, reset the sector and rearmed the

> In the end you end up with something that looks, again, like kexec/kdump.

That was the proposed solution back then, too. If I'd realized how long
that would take to arrive, I would have kept pushing...

BTW, anyone know whether distros turn it on? Ubuntu seems to enable it
in the config, but I've never seen it in action. My laptop has frozen
a couple of times, but maybe it really froze...

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at