Messages in this thread |  | | Date | Mon, 16 Jun 2008 12:37:21 -0500 | From | Paul Jackson <> | Subject | Re: [PATCH 4/8] x86 boot: allow overlapping ebda and efi memmap memory ranges |
| |
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@sgi.com> 1.940.382.4214
|  |