lkml.org 
[lkml]   [2014]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 4/6] arm64: add EFI stub
Date
On Friday 10 January 2014, Mark Salter wrote:
> This patch adds PE/COFF header fields to the start of the Image
> so that it appears as an EFI application to EFI firmware. An EFI
> stub is included to allow direct booting of the kernel Image. Due
> to EFI firmware limitations, only little endian kernels with 4K
> page sizes are supported at this time. Support in the COFF header
> for signed images was provided by Ard Biesheuvel.
>
> Signed-off-by: Mark Salter <msalter@redhat.com>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

You got the ordering of the S-o-b lines wrong. Since you send the
patch, your name should come last.

> +config EFI_STUB
> + bool "EFI stub support"
> + depends on !ARM64_64K_PAGES && OF
> + select LIBFDT
> + default y
> + help
> + This kernel feature allows an Image to be loaded directly
> + by EFI firmware without the use of a bootloader.
> + See Documentation/efi-stub.txt for more information.
> +
> endmenu

Why not ARM64_64K_PAGES? I thought that it was going to be the
default for a lot of distros that would need to run on UEFI systems.

> menu "Userspace binary formats"
> diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile
> index 5ba2fd4..1c52b84 100644
> --- a/arch/arm64/kernel/Makefile
> +++ b/arch/arm64/kernel/Makefile
> @@ -4,6 +4,8 @@
>
> CPPFLAGS_vmlinux.lds := -DTEXT_OFFSET=$(TEXT_OFFSET)
> AFLAGS_head.o := -DTEXT_OFFSET=$(TEXT_OFFSET)
> +CFLAGS_efi-stub.o := -DTEXT_OFFSET=$(TEXT_OFFSET) \
> + -I$(src)/../../../scripts/dtc/libfdt

Hmm, this is pretty ugly. I notice the same has been done on MIPS
as well, but I'd hope we can find a proper way to do it.

> diff --git a/arch/arm64/kernel/efi-stub.c b/arch/arm64/kernel/efi-stub.c
> new file mode 100644
> index 0000000..10d02bf
> --- /dev/null
> +++ b/arch/arm64/kernel/efi-stub.c
> +
> +/* Include shared EFI stub code */
> +#include "../../../drivers/firmware/efi/efi-stub-helper.c"
> +#include "../../../drivers/firmware/efi/fdt.c"

It gets worse here.

Arnd


\
 
 \ /
  Last update: 2014-01-13 20:21    [W:0.171 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site