Re: linux-next: Tree for Sep 18 (build failures, up to 10/02)

From: Matt Fleming
Date: Sat Oct 10 2015 - 12:26:32 EST


On Sat, 03 Oct, at 11:26:07PM, Matt Fleming wrote:
>
> Urgh, sorry about this slipping through the cracks Guenter!
>
> What about fixing it up with this patch?
>
> ---
>
> From 85ae872eafef767cf37a0a305266522a62b43fc2 Mon Sep 17 00:00:00 2001
> From: Matt Fleming <matt.fleming@xxxxxxxxx>
> Date: Sat, 3 Oct 2015 20:44:52 +0100
> Subject: [PATCH] efi: Use the generic efi.memmap instead of 'memmap'
>
> Guenter reports that commit 7bf793115dd9 ("efi, x86: Rearrange
> efi_mem_attributes()") breaks ia64 compilation with the following
> error,
>
> drivers/built-in.o: In function `efi_mem_attributes':
> (.text+0xde962): undefined reference to `memmap'
> drivers/built-in.o: In function `efi_mem_attributes':
> (.text+0xde971): undefined reference to `memmap'
>
> Instead of using the (rather poorly named) global variable 'memmap'
> which doesn't exist on ia64, use efi.memmap which points to the
> 'memmap' object on x86 and arm64 and which is NULL for ia64.
>
> The fact that efi.memmap is NULL for ia64 is OK because ia64 provides
> its own implementation of efi_mem_attributes().
>
> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> Cc: Jonathan Zhang <zjzhang@xxxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Tony Luck <tony.luck@xxxxxxxxx>
> Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
> Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx>
> ---
> drivers/firmware/efi/efi.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
> index dd153be03f56..335f4c1a1504 100644
> --- a/drivers/firmware/efi/efi.c
> +++ b/drivers/firmware/efi/efi.c
> @@ -647,13 +647,15 @@ char * __init efi_md_typeattr_format(char *buf, size_t size,
> */
> u64 __weak efi_mem_attributes(unsigned long phys_addr)
> {
> + struct efi_memory_map *map;
> efi_memory_desc_t *md;
> void *p;
>
> if (!efi_enabled(EFI_MEMMAP))
> return 0;
>
> - for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
> + map = efi.memmap;
> + for (p = map->map; p < map->map_end; p += map->desc_size) {
> md = p;
> if ((md->phys_addr <= phys_addr) &&
> (phys_addr < (md->phys_addr +

tip folks, could you pick this up to fix the ia64 breakage in
linux-next?

--
Matt Fleming, Intel Open Source Technology Center
--
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/