All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] efi/libstub: arm: Omit arch specific config table matching array on arm64
@ 2020-06-16 11:00 ` Ard Biesheuvel
  0 siblings, 0 replies; 4+ messages in thread
From: Ard Biesheuvel @ 2020-06-16 11:00 UTC (permalink / raw)
  To: linux-efi; +Cc: linux-arm-kernel, xypron.glpk, leif, Ard Biesheuvel

On arm64, the EFI stub is built into the kernel proper, and so the stub
can refer to its symbols directly. Therefore, the practice of using EFI
configuration tables to pass information between them is never needed,
so we can omit any code consuming such tables when building for arm64.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---

This will be applied before 'efi/libstub: arm: Print CPU boot mode and MMU 
state at boot' [v3] sent out today

 drivers/firmware/efi/arm-init.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/firmware/efi/arm-init.c b/drivers/firmware/efi/arm-init.c
index c697e70ca7e7..6f4baf70db16 100644
--- a/drivers/firmware/efi/arm-init.c
+++ b/drivers/firmware/efi/arm-init.c
@@ -62,7 +62,8 @@ static void __init init_screen_info(void)
 {
 	struct screen_info *si;
 
-	if (screen_info_table != EFI_INVALID_TABLE_ADDR) {
+	if (IS_ENABLED(CONFIG_ARM) &&
+	    screen_info_table != EFI_INVALID_TABLE_ADDR) {
 		si = early_memremap_ro(screen_info_table, sizeof(*si));
 		if (!si) {
 			pr_err("Could not map screen_info config table\n");
@@ -116,7 +117,8 @@ static int __init uefi_init(u64 efi_system_table)
 		goto out;
 	}
 	retval = efi_config_parse_tables(config_tables, systab->nr_tables,
-					 arch_tables);
+					 IS_ENABLED(CONFIG_ARM) ? arch_tables
+								: NULL);
 
 	early_memunmap(config_tables, table_size);
 out:
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH] efi/libstub: arm: Omit arch specific config table matching array on arm64
@ 2020-06-16 11:00 ` Ard Biesheuvel
  0 siblings, 0 replies; 4+ messages in thread
From: Ard Biesheuvel @ 2020-06-16 11:00 UTC (permalink / raw)
  To: linux-efi; +Cc: xypron.glpk, leif, Ard Biesheuvel, linux-arm-kernel

On arm64, the EFI stub is built into the kernel proper, and so the stub
can refer to its symbols directly. Therefore, the practice of using EFI
configuration tables to pass information between them is never needed,
so we can omit any code consuming such tables when building for arm64.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---

This will be applied before 'efi/libstub: arm: Print CPU boot mode and MMU 
state at boot' [v3] sent out today

 drivers/firmware/efi/arm-init.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/firmware/efi/arm-init.c b/drivers/firmware/efi/arm-init.c
index c697e70ca7e7..6f4baf70db16 100644
--- a/drivers/firmware/efi/arm-init.c
+++ b/drivers/firmware/efi/arm-init.c
@@ -62,7 +62,8 @@ static void __init init_screen_info(void)
 {
 	struct screen_info *si;
 
-	if (screen_info_table != EFI_INVALID_TABLE_ADDR) {
+	if (IS_ENABLED(CONFIG_ARM) &&
+	    screen_info_table != EFI_INVALID_TABLE_ADDR) {
 		si = early_memremap_ro(screen_info_table, sizeof(*si));
 		if (!si) {
 			pr_err("Could not map screen_info config table\n");
@@ -116,7 +117,8 @@ static int __init uefi_init(u64 efi_system_table)
 		goto out;
 	}
 	retval = efi_config_parse_tables(config_tables, systab->nr_tables,
-					 arch_tables);
+					 IS_ENABLED(CONFIG_ARM) ? arch_tables
+								: NULL);
 
 	early_memunmap(config_tables, table_size);
 out:
-- 
2.27.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] efi/libstub: arm: Omit arch specific config table matching array on arm64
  2020-06-16 11:00 ` Ard Biesheuvel
@ 2020-06-16 11:19   ` Leif Lindholm
  -1 siblings, 0 replies; 4+ messages in thread
From: Leif Lindholm @ 2020-06-16 11:19 UTC (permalink / raw)
  To: Ard Biesheuvel; +Cc: linux-efi, linux-arm-kernel, xypron.glpk

On Tue, Jun 16, 2020 at 13:00:30 +0200, Ard Biesheuvel wrote:
> On arm64, the EFI stub is built into the kernel proper, and so the stub
> can refer to its symbols directly. Therefore, the practice of using EFI
> configuration tables to pass information between them is never needed,
> so we can omit any code consuming such tables when building for arm64.
> 
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
>
> ---
> 
> This will be applied before 'efi/libstub: arm: Print CPU boot mode and MMU 
> state at boot' [v3] sent out today

With that, for *both* patches:
Reviewed-by: Leif Lindholm <leif@nuviainc.com>

>  drivers/firmware/efi/arm-init.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/firmware/efi/arm-init.c b/drivers/firmware/efi/arm-init.c
> index c697e70ca7e7..6f4baf70db16 100644
> --- a/drivers/firmware/efi/arm-init.c
> +++ b/drivers/firmware/efi/arm-init.c
> @@ -62,7 +62,8 @@ static void __init init_screen_info(void)
>  {
>  	struct screen_info *si;
>  
> -	if (screen_info_table != EFI_INVALID_TABLE_ADDR) {
> +	if (IS_ENABLED(CONFIG_ARM) &&
> +	    screen_info_table != EFI_INVALID_TABLE_ADDR) {
>  		si = early_memremap_ro(screen_info_table, sizeof(*si));
>  		if (!si) {
>  			pr_err("Could not map screen_info config table\n");
> @@ -116,7 +117,8 @@ static int __init uefi_init(u64 efi_system_table)
>  		goto out;
>  	}
>  	retval = efi_config_parse_tables(config_tables, systab->nr_tables,
> -					 arch_tables);
> +					 IS_ENABLED(CONFIG_ARM) ? arch_tables
> +								: NULL);
>  
>  	early_memunmap(config_tables, table_size);
>  out:
> -- 
> 2.27.0
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] efi/libstub: arm: Omit arch specific config table matching array on arm64
@ 2020-06-16 11:19   ` Leif Lindholm
  0 siblings, 0 replies; 4+ messages in thread
From: Leif Lindholm @ 2020-06-16 11:19 UTC (permalink / raw)
  To: Ard Biesheuvel; +Cc: xypron.glpk, linux-efi, linux-arm-kernel

On Tue, Jun 16, 2020 at 13:00:30 +0200, Ard Biesheuvel wrote:
> On arm64, the EFI stub is built into the kernel proper, and so the stub
> can refer to its symbols directly. Therefore, the practice of using EFI
> configuration tables to pass information between them is never needed,
> so we can omit any code consuming such tables when building for arm64.
> 
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
>
> ---
> 
> This will be applied before 'efi/libstub: arm: Print CPU boot mode and MMU 
> state at boot' [v3] sent out today

With that, for *both* patches:
Reviewed-by: Leif Lindholm <leif@nuviainc.com>

>  drivers/firmware/efi/arm-init.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/firmware/efi/arm-init.c b/drivers/firmware/efi/arm-init.c
> index c697e70ca7e7..6f4baf70db16 100644
> --- a/drivers/firmware/efi/arm-init.c
> +++ b/drivers/firmware/efi/arm-init.c
> @@ -62,7 +62,8 @@ static void __init init_screen_info(void)
>  {
>  	struct screen_info *si;
>  
> -	if (screen_info_table != EFI_INVALID_TABLE_ADDR) {
> +	if (IS_ENABLED(CONFIG_ARM) &&
> +	    screen_info_table != EFI_INVALID_TABLE_ADDR) {
>  		si = early_memremap_ro(screen_info_table, sizeof(*si));
>  		if (!si) {
>  			pr_err("Could not map screen_info config table\n");
> @@ -116,7 +117,8 @@ static int __init uefi_init(u64 efi_system_table)
>  		goto out;
>  	}
>  	retval = efi_config_parse_tables(config_tables, systab->nr_tables,
> -					 arch_tables);
> +					 IS_ENABLED(CONFIG_ARM) ? arch_tables
> +								: NULL);
>  
>  	early_memunmap(config_tables, table_size);
>  out:
> -- 
> 2.27.0
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-06-16 11:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-16 11:00 [PATCH] efi/libstub: arm: Omit arch specific config table matching array on arm64 Ard Biesheuvel
2020-06-16 11:00 ` Ard Biesheuvel
2020-06-16 11:19 ` Leif Lindholm
2020-06-16 11:19   ` Leif Lindholm

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.