On Mon, May 31, 2021 at 07:00:59PM +0800, lijiang wrote: > Thank you for the information, Boris and Mike. > > BTW: I just noticed that Mike's patch is incorrect, maybe it's a typo: > diff --git a/arch/x86/platform/efi/quirks.c b/arch/x86/platform/efi/quirks.c > index 7850111008a8b..e262ca858787f 100644 > --- a/arch/x86/platform/efi/quirks.c > +++ b/arch/x86/platform/efi/quirks.c > @@ -450,6 +450,18 @@ void __init efi_free_boot_services(void) > size -= rm_size; > } > + /* > + * Don't free memory under 1M for two reasons: > + * - BIOS might clobber it > + * - Crash kernel needs it to be reserved > + */ > + if (start + size < SZ_1M) > + continue; > + if (start < SZ_1M) { > + size -= (start - SZ_1M); > ^^^^^^^^^^^^^^^^^^^^^^^^ > > It looks like: size -= (SZ_1M - start); Right, thanks! > + start = SZ_1M; > + } > + > memblock_free_late(start, size); > } > > Mike's patch link: > https://git.kernel.org/pub/scm/linux/kernel/git/rppt/linux.git/commit/?h=x86/ > reservelow&id=479fb34676ac448529b605854cf48c007e796ccd -- Sincerely yours, Mike.