Re: [PATCH 4/8] x86 boot: allow overlapping ebda and efi memmapmemory ranges

From: Paul Jackson
Date: Mon Jun 16 2008 - 13:37:33 EST


hpa, replying to pj:
> >> Would you recommend doing this with code in arch/x86/kernel/head.c,
> >> that did not invoke reserve_ebda_region() if efi_enabled was set?
>
> I disagree with it

Ok - that's clear.

So it would seem that I am getting conflicting advice.

One person recommends code that only makes this safety reservation of
the ebda region in the non-EFI case:

if (!efi_enabled)
reserve_ebda_region();

and the other recommends code that always makes this safety reservation,
and that handles the possible resulting overlap with the EFI memmap:

if (!range_in_ebda_area(pmap, pmap + memmap.nr_map * memmap.desc_size))
reserve_early(pmap, pmap + memmap.nr_map * memmap.desc_size,
"EFI memmap");

(The above code should be adjusted in light of Yinghai's suggestion
that it handle partial overlap.)

The resolution of this conflict might be easy, however.

I will readily accept that there exist some 'classic' PCs for which
we need to reserve a 'safe' ebda area.

The question to me is this. Are there PCs which (1) need such a safety
reservation of an ebda area -and- (2) boot with EFI enabled? I am not
asking if there -could- be (in the abstract, there certainly is no law
of government or physics prohibiting such). Rather I am asking as a
practical matter if there is, or is likely to be, such PCs "in the wild."

The safety reservation of this ebda area is a hack. As hacks go, it is
a rather gentle hack, but still it is a hack. As such, it is to be
avoided unless there is a practical need. Some non-efi old PCs have that
need - no debate there.

Should we perpeturate this (gentle) hack for EFI systems as well?

--
I won't rest till it's the best ...
Programmer, Linux Scalability
Paul Jackson <pj@xxxxxxx> 1.940.382.4214
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/