x86/boot: Remove the preconstructed low 16M superpage mappings
These are left over from c/s
b2804422 "x86: make Xen early boot code
relocatable", which made it possible for Xen not to be in the bottom 16M.
Nothing using the mappings any more. Build them in the directmap when walking
the E820 table along with everything else.
Furthermore, it is undefined to have superpages and MTRRs disagree on
cacheability boundaries, and nothing actually checks. While we don't fix this
explicitly, we do at least honour the E820 now if it says there are boundaries
in this range.
As a consequence, there are now no _PAGE_PRESENT entries between
__page_tables_{start,end} which need to skip relocation. This simplifies the
MB1/2 entry path logic to remove the l2_identmap[] special case.
The low 2M (using 4k pages) is retained for now. Amongst other things, it
matters for console logging while the legacy VGA hole is in use.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>