From mboxrd@z Thu Jan 1 00:00:00 1970 From: mark.rutland@arm.com (Mark Rutland) Date: Wed, 22 Oct 2014 17:15:52 +0100 Subject: [PATCH 04/10] arm64/efi: reserve regions of type ACPI_MEMORY_NVS In-Reply-To: <1413987713-30528-5-git-send-email-ard.biesheuvel@linaro.org> References: <1413987713-30528-1-git-send-email-ard.biesheuvel@linaro.org> <1413987713-30528-5-git-send-email-ard.biesheuvel@linaro.org> Message-ID: <20141022161552.GG4010@leverpostej> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Wed, Oct 22, 2014 at 03:21:47PM +0100, Ard Biesheuvel wrote: > Memory regions of type ACPI_MEMORY_NVS should be preserved > by the OS, so make sure we reserve them at boot. > > Signed-off-by: Ard Biesheuvel > --- > arch/arm64/kernel/efi.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm64/kernel/efi.c b/arch/arm64/kernel/efi.c > index 95c49ebc660d..71ea4fc0aa8a 100644 > --- a/arch/arm64/kernel/efi.c > +++ b/arch/arm64/kernel/efi.c > @@ -132,6 +132,7 @@ static __init int is_reserve_region(efi_memory_desc_t *md) > return 1; > > if (md->type == EFI_ACPI_RECLAIM_MEMORY || > + md->type == EFI_ACPI_MEMORY_NVS || > md->type == EFI_RESERVED_TYPE) > return 1; Shouldn't we also filter out EFI_UNUSABLE_MEMORY? Or does that happen elsewhere? Perhaps instead we should invert this logic and assume memory should be reserved if not EfiLoaderCode, EfiLoaderData, EfiBootServicesCode, EfiBootServicesData, or EfiConventionalMemory. That looks to be what x86 does. Mark.