Re: [PATCH] x86: tidy e820 output

Bjorn Helgaas
2010-09-22T18:21:23Z

On Wednesday, September 22, 2010 11:54:49 am H. Peter Anvin wrote:
> On 09/22/2010 10:27 AM, Bjorn Helgaas wrote:
> >
> > This tidies e820 output by adding an "e820" prefix and printing ranges in
> > the same style we use for struct resource with %pR, e.g.:
> >
> > - BIOS-e820: 0000000000000000 - 000000000009f400 (usable)
> > + BIOS-e820: [mem 0x00000000-0x0009f3ff] (usable)
>
> I'm sorry, I have to admit to not understanding the difference. I do
> not want to change the number of hex digits from fixed 16 digits, as
> that will make the output harder to read when printed in a block (as is
> normal for the early e820 dump). The [mem] prefix seems redundant with
> (usable), or am I misreading this?

These E820 ranges should be easily comparable with similar ranges we
print elsewhere. Currently we have things like this:

BIOS-e820: 0000000000000000 - 000000000009f400 (usable)
BIOS-e820: 000000000009f400 - 00000000000a0000 (reserved)
BIOS-e820: 00000000fffbc000 - 0000000100000000 (reserved)
pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff]
pci_root PNP0A03:00: host bridge window [mem 0xe0000000-0xfebfffff]
pci 0000:00:02.0: reg 10: [mem 0xf0000000-0xf1ffffff pref]
reserve RAM buffer: 000000000009f400 - 000000000009ffff
pnp 00:07: [mem 0xfed00000-0xfed003ff]

It would be easier to integrate the E820 information with the ACPI
and PCI window and BAR information if they looked similar.

We currently have a mix of some with "0x" prefix, some without;
some with eight hex digits, some with sixteen; some with spaces
around the internal "-", some without; some with type (io/mem/etc),
some without; some with uppercase hex (MTRR), most with lowercase;
some including the end address, some not; and even some in PFNs
and most in addresses. It just makes it harder than it needs
to be to debug issues in this area.

Bjorn