diff options
author | Simon Glass <sjg@chromium.org> | 2021-11-03 21:09:07 -0600 |
---|---|---|
committer | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2021-11-07 18:36:55 +0100 |
commit | e16c47fa3d2e051a0035191d473549589bd34fc4 (patch) | |
tree | 791e368520ae892b7b2b32b80cabeacff1b81639 /arch | |
parent | f4d227c99fbfdf2f518bef6f5ad5e1281998a362 (diff) | |
download | u-boot-e16c47fa3d2e051a0035191d473549589bd34fc4.zip u-boot-e16c47fa3d2e051a0035191d473549589bd34fc4.tar.gz u-boot-e16c47fa3d2e051a0035191d473549589bd34fc4.tar.bz2 |
efi: Create a 64-bit app
Most modern platforms use 64-bit EFI so it is useful to have a U-Boot app
that runs under that. Add a (non-functional) build for this.
Note that --whole-archive causes the gcc 9.2 linker to crash, so disable
this for now. Once this is resolved, things should work.
For now, avoid mentioning the documentation for the 64-bit app, since it
does not work.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/cpu/u-boot-64.lds | 2 | ||||
-rw-r--r-- | arch/x86/cpu/x86_64/Makefile | 4 | ||||
-rw-r--r-- | arch/x86/cpu/x86_64/cpu.c | 17 | ||||
-rw-r--r-- | arch/x86/cpu/x86_64/misc.c | 25 |
4 files changed, 31 insertions, 17 deletions
diff --git a/arch/x86/cpu/u-boot-64.lds b/arch/x86/cpu/u-boot-64.lds index ee0812a..92a30c2 100644 --- a/arch/x86/cpu/u-boot-64.lds +++ b/arch/x86/cpu/u-boot-64.lds @@ -15,7 +15,9 @@ SECTIONS /DISCARD/ : { *(.u_boot_list_2_cmd_*) } #endif +#ifdef CONFIG_SYS_TEXT_BASE . = CONFIG_SYS_TEXT_BASE; /* Location of bootcode in flash */ +#endif __text_start = .; .text.start : { *(.text.start); } diff --git a/arch/x86/cpu/x86_64/Makefile b/arch/x86/cpu/x86_64/Makefile index 400f0ff..e929563 100644 --- a/arch/x86/cpu/x86_64/Makefile +++ b/arch/x86/cpu/x86_64/Makefile @@ -4,3 +4,7 @@ # obj-y += cpu.o interrupts.o setjmp.o + +ifndef CONFIG_EFI +obj-y += misc.o +endif diff --git a/arch/x86/cpu/x86_64/cpu.c b/arch/x86/cpu/x86_64/cpu.c index 90a766c..8f72c99 100644 --- a/arch/x86/cpu/x86_64/cpu.c +++ b/arch/x86/cpu/x86_64/cpu.c @@ -49,23 +49,6 @@ int x86_mp_init(void) return 0; } -int misc_init_r(void) -{ - return 0; -} - -#ifndef CONFIG_SYS_COREBOOT -int checkcpu(void) -{ - return 0; -} - -int print_cpuinfo(void) -{ - return 0; -} -#endif - int x86_cpu_reinit_f(void) { return 0; diff --git a/arch/x86/cpu/x86_64/misc.c b/arch/x86/cpu/x86_64/misc.c new file mode 100644 index 0000000..02587ff --- /dev/null +++ b/arch/x86/cpu/x86_64/misc.c @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * (C) Copyright 2016 Google, Inc + * Written by Simon Glass <sjg@chromium.org> + */ + +#include <common.h> +#include <init.h> + +int misc_init_r(void) +{ + return 0; +} + +#ifndef CONFIG_SYS_COREBOOT +int checkcpu(void) +{ + return 0; +} + +int print_cpuinfo(void) +{ + return 0; +} +#endif |