All of lore.kernel.org
 help / color / mirror / Atom feed
From: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>
To: Ard Biesheuvel <ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org,
	mark.rutland-5wv7dgnIgG8@public.gmane.org,
	dh.herrmann-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	pjones-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Subject: Re: [PATCH v3 5/9] efi/arm64: libstub: make screen_info accessible to the UEFI stub
Date: Thu, 14 Apr 2016 17:46:17 +0100	[thread overview]
Message-ID: <20160414164617.GJ4584@arm.com> (raw)
In-Reply-To: <1459526735-24936-6-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>

On Fri, Apr 01, 2016 at 06:05:31PM +0200, Ard Biesheuvel wrote:
> Unlike on 32-bit ARM, where we need to pass the stub's version of struct
> screen_info to the kernel proper via a configuration table, on 64-bit ARM
> it simply involves making the core kernel's copy of struct screen_info
> visible to the stub by exposing an __efistub_ alias for it.
> 
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
> ---
>  arch/arm64/include/asm/efi.h | 3 +++
>  arch/arm64/kernel/efi.c      | 3 +++
>  arch/arm64/kernel/image.h    | 1 +
>  3 files changed, 7 insertions(+)

Since I assume this will all go via the EFI tree:

Acked-by: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>

for this patch.

Will

> diff --git a/arch/arm64/include/asm/efi.h b/arch/arm64/include/asm/efi.h
> index bb26f2205973..ed6c85d3a583 100644
> --- a/arch/arm64/include/asm/efi.h
> +++ b/arch/arm64/include/asm/efi.h
> @@ -54,6 +54,9 @@ int efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md);
>  #define __efi_call_early(f, ...)	f(__VA_ARGS__)
>  #define efi_is_64bit()			(true)
>  
> +#define alloc_screen_info(x...)		&screen_info
> +#define free_screen_info(x...)
> +
>  #define EFI_ALLOC_ALIGN		SZ_64K
>  
>  /*
> diff --git a/arch/arm64/kernel/efi.c b/arch/arm64/kernel/efi.c
> index b6abc852f2a1..6f4b3ea359db 100644
> --- a/arch/arm64/kernel/efi.c
> +++ b/arch/arm64/kernel/efi.c
> @@ -17,6 +17,9 @@
>  
>  #include <asm/efi.h>
>  
> +/* we will fill this structure from the stub, so don't put it in .bss */
> +struct screen_info screen_info __section(.data);
> +
>  int __init efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md)
>  {
>  	pteval_t prot_val;
> diff --git a/arch/arm64/kernel/image.h b/arch/arm64/kernel/image.h
> index 5e360ce88f10..1428849aece8 100644
> --- a/arch/arm64/kernel/image.h
> +++ b/arch/arm64/kernel/image.h
> @@ -112,6 +112,7 @@ __efistub___memset		= KALLSYMS_HIDE(__pi_memset);
>  __efistub__text			= KALLSYMS_HIDE(_text);
>  __efistub__end			= KALLSYMS_HIDE(_end);
>  __efistub__edata		= KALLSYMS_HIDE(_edata);
> +__efistub_screen_info		= KALLSYMS_HIDE(screen_info);
>  
>  #endif
>  
> -- 
> 2.5.0
> 

WARNING: multiple messages have this Message-ID (diff)
From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 5/9] efi/arm64: libstub: make screen_info accessible to the UEFI stub
Date: Thu, 14 Apr 2016 17:46:17 +0100	[thread overview]
Message-ID: <20160414164617.GJ4584@arm.com> (raw)
In-Reply-To: <1459526735-24936-6-git-send-email-ard.biesheuvel@linaro.org>

On Fri, Apr 01, 2016 at 06:05:31PM +0200, Ard Biesheuvel wrote:
> Unlike on 32-bit ARM, where we need to pass the stub's version of struct
> screen_info to the kernel proper via a configuration table, on 64-bit ARM
> it simply involves making the core kernel's copy of struct screen_info
> visible to the stub by exposing an __efistub_ alias for it.
> 
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> ---
>  arch/arm64/include/asm/efi.h | 3 +++
>  arch/arm64/kernel/efi.c      | 3 +++
>  arch/arm64/kernel/image.h    | 1 +
>  3 files changed, 7 insertions(+)

Since I assume this will all go via the EFI tree:

Acked-by: Will Deacon <will.deacon@arm.com>

for this patch.

Will

> diff --git a/arch/arm64/include/asm/efi.h b/arch/arm64/include/asm/efi.h
> index bb26f2205973..ed6c85d3a583 100644
> --- a/arch/arm64/include/asm/efi.h
> +++ b/arch/arm64/include/asm/efi.h
> @@ -54,6 +54,9 @@ int efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md);
>  #define __efi_call_early(f, ...)	f(__VA_ARGS__)
>  #define efi_is_64bit()			(true)
>  
> +#define alloc_screen_info(x...)		&screen_info
> +#define free_screen_info(x...)
> +
>  #define EFI_ALLOC_ALIGN		SZ_64K
>  
>  /*
> diff --git a/arch/arm64/kernel/efi.c b/arch/arm64/kernel/efi.c
> index b6abc852f2a1..6f4b3ea359db 100644
> --- a/arch/arm64/kernel/efi.c
> +++ b/arch/arm64/kernel/efi.c
> @@ -17,6 +17,9 @@
>  
>  #include <asm/efi.h>
>  
> +/* we will fill this structure from the stub, so don't put it in .bss */
> +struct screen_info screen_info __section(.data);
> +
>  int __init efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md)
>  {
>  	pteval_t prot_val;
> diff --git a/arch/arm64/kernel/image.h b/arch/arm64/kernel/image.h
> index 5e360ce88f10..1428849aece8 100644
> --- a/arch/arm64/kernel/image.h
> +++ b/arch/arm64/kernel/image.h
> @@ -112,6 +112,7 @@ __efistub___memset		= KALLSYMS_HIDE(__pi_memset);
>  __efistub__text			= KALLSYMS_HIDE(_text);
>  __efistub__end			= KALLSYMS_HIDE(_end);
>  __efistub__edata		= KALLSYMS_HIDE(_edata);
> +__efistub_screen_info		= KALLSYMS_HIDE(screen_info);
>  
>  #endif
>  
> -- 
> 2.5.0
> 

  parent reply	other threads:[~2016-04-14 16:46 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-01 16:05 [PATCH v3 0/9] EFI framebuffer support for ARM and arm64 Ard Biesheuvel
2016-04-01 16:05 ` Ard Biesheuvel
     [not found] ` <1459526735-24936-1-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-04-01 16:05   ` [PATCH v3 1/9] efi/x86: prepare GOP handling code for reuse as generic code Ard Biesheuvel
2016-04-01 16:05     ` Ard Biesheuvel
2016-04-01 16:05   ` [PATCH v3 2/9] efi: libstub: move Graphics Output Protocol handling to " Ard Biesheuvel
2016-04-01 16:05     ` Ard Biesheuvel
2016-04-01 16:05   ` [PATCH v3 3/9] efi/x86: efifb: move DMI based quirks handling out of " Ard Biesheuvel
2016-04-01 16:05     ` Ard Biesheuvel
2016-04-01 16:05   ` [PATCH v3 4/9] efi: efifb: use builtin_platform_driver and drop unused includes Ard Biesheuvel
2016-04-01 16:05     ` Ard Biesheuvel
2016-04-01 16:05   ` [PATCH v3 5/9] efi/arm64: libstub: make screen_info accessible to the UEFI stub Ard Biesheuvel
2016-04-01 16:05     ` Ard Biesheuvel
     [not found]     ` <1459526735-24936-6-git-send-email-ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-04-14 16:46       ` Will Deacon [this message]
2016-04-14 16:46         ` Will Deacon
2016-04-01 16:05   ` [PATCH v3 6/9] efi/arm: " Ard Biesheuvel
2016-04-01 16:05     ` Ard Biesheuvel
2016-04-01 16:05   ` [PATCH v3 7/9] efi/arm*: libstub: wire up GOP protocol to struct screen_info Ard Biesheuvel
2016-04-01 16:05     ` Ard Biesheuvel
2016-04-01 16:05   ` [PATCH v3 8/9] efi/arm*: wire up struct screen_info to efi-framebuffer platform device Ard Biesheuvel
2016-04-01 16:05     ` Ard Biesheuvel
2016-04-01 16:05   ` [PATCH v3 9/9] efifb: enable the efi-framebuffer platform driver for ARM and arm64 Ard Biesheuvel
2016-04-01 16:05     ` Ard Biesheuvel
2016-04-20 12:51   ` [PATCH v3 0/9] EFI framebuffer support " Ard Biesheuvel
2016-04-20 12:51     ` Ard Biesheuvel
     [not found]     ` <CAKv+Gu_WPCbGgG1TjnY5tQ4YPgR_LDdaeR1fm-S=C894OsXiGQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-04-20 19:02       ` Matt Fleming
2016-04-20 19:02         ` Matt Fleming
     [not found]         ` <20160420190224.GC2829-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2016-04-22 21:26           ` Matt Fleming
2016-04-22 21:26             ` Matt Fleming

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160414164617.GJ4584@arm.com \
    --to=will.deacon-5wv7dgnigg8@public.gmane.org \
    --cc=ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=dh.herrmann-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org \
    --cc=pjones-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.