Message ID | 1528637118-32739-9-git-send-email-bmeng.cn@gmail.com |
---|---|
State | Superseded |
Delegated to: | Bin Meng |
Headers | show |
Series | x86: efi: Fixes and enhancements to application and payload support | expand |
On 10 June 2018 at 05:25, Bin Meng <bmeng.cn@gmail.com> wrote: > At present the EFI application and payload support codes in the x86 > directory is distributed in a hybrid way. For example, the Kconfig > options for both app and payload are in arch/x86/lib/efi/Kconfig, > but the source codes in the same directory get built only for > CONFIG_EFI_STUB. > > This refactors the codes by consolidating all the EFI support codes > into arch/x86/cpu/efi, just like other x86 targets. > > Signed-off-by: Bin Meng <bmeng.cn@gmail.com> > --- > > arch/x86/Kconfig | 3 +-- > arch/x86/cpu/Makefile | 2 +- > arch/x86/{lib => cpu}/efi/Kconfig | 0 > arch/x86/cpu/efi/Makefile | 7 +++++++ > arch/x86/{lib => cpu}/efi/car.S | 0 > arch/x86/{lib/efi/efi.c => cpu/efi/payload.c} | 0 > arch/x86/lib/Makefile | 1 - > arch/x86/lib/efi/Makefile | 7 ------- > 8 files changed, 9 insertions(+), 11 deletions(-) > rename arch/x86/{lib => cpu}/efi/Kconfig (100%) > rename arch/x86/{lib => cpu}/efi/car.S (100%) > rename arch/x86/{lib/efi/efi.c => cpu/efi/payload.c} (100%) > delete mode 100644 arch/x86/lib/efi/Makefile Reviewed-by: Simon Glass <sjg@chromium.org>
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 460aed6..43fa30b 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -112,6 +112,7 @@ source "arch/x86/cpu/braswell/Kconfig" source "arch/x86/cpu/broadwell/Kconfig" source "arch/x86/cpu/coreboot/Kconfig" source "arch/x86/cpu/ivybridge/Kconfig" +source "arch/x86/cpu/efi/Kconfig" source "arch/x86/cpu/qemu/Kconfig" source "arch/x86/cpu/quark/Kconfig" source "arch/x86/cpu/queensbay/Kconfig" @@ -781,6 +782,4 @@ config HIGH_TABLE_SIZE Increse it if the default size does not fit the board's needs. This is most likely due to a large ACPI DSDT table is used. -source "arch/x86/lib/efi/Kconfig" - endmenu diff --git a/arch/x86/cpu/Makefile b/arch/x86/cpu/Makefile index af9e26c..f862d8c 100644 --- a/arch/x86/cpu/Makefile +++ b/arch/x86/cpu/Makefile @@ -29,7 +29,7 @@ obj-$(CONFIG_INTEL_BAYTRAIL) += baytrail/ obj-$(CONFIG_INTEL_BRASWELL) += braswell/ obj-$(CONFIG_INTEL_BROADWELL) += broadwell/ obj-$(CONFIG_SYS_COREBOOT) += coreboot/ -obj-$(CONFIG_EFI_APP) += efi/ +obj-$(CONFIG_EFI) += efi/ obj-$(CONFIG_QEMU) += qemu/ obj-$(CONFIG_NORTHBRIDGE_INTEL_IVYBRIDGE) += ivybridge/ obj-$(CONFIG_INTEL_QUARK) += quark/ diff --git a/arch/x86/lib/efi/Kconfig b/arch/x86/cpu/efi/Kconfig similarity index 100% rename from arch/x86/lib/efi/Kconfig rename to arch/x86/cpu/efi/Kconfig diff --git a/arch/x86/cpu/efi/Makefile b/arch/x86/cpu/efi/Makefile index 06d0480..32c2dde 100644 --- a/arch/x86/cpu/efi/Makefile +++ b/arch/x86/cpu/efi/Makefile @@ -2,5 +2,12 @@ # # Copyright (c) 2015 Google, Inc +ifdef CONFIG_EFI_APP obj-y += efi.o obj-y += sdram.o +endif + +ifdef CONFIG_EFI_STUB +obj-y += car.o +obj-y += payload.o +endif diff --git a/arch/x86/lib/efi/car.S b/arch/x86/cpu/efi/car.S similarity index 100% rename from arch/x86/lib/efi/car.S rename to arch/x86/cpu/efi/car.S diff --git a/arch/x86/lib/efi/efi.c b/arch/x86/cpu/efi/payload.c similarity index 100% rename from arch/x86/lib/efi/efi.c rename to arch/x86/cpu/efi/payload.c diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile index 112ac3d..ba83ce2 100644 --- a/arch/x86/lib/Makefile +++ b/arch/x86/lib/Makefile @@ -14,7 +14,6 @@ endif obj-y += cmd_boot.o obj-$(CONFIG_SEABIOS) += coreboot_table.o obj-y += early_cmos.o -obj-$(CONFIG_EFI) += efi/ obj-y += e820.o obj-y += init_helpers.o obj-y += interrupts.o diff --git a/arch/x86/lib/efi/Makefile b/arch/x86/lib/efi/Makefile deleted file mode 100644 index f6c6523..0000000 --- a/arch/x86/lib/efi/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ -# -# (C) Copyright 2002-2006 -# Wolfgang Denk, DENX Software Engineering, wd@denx.de. - -obj-$(CONFIG_EFI_STUB) += car.o -obj-$(CONFIG_EFI_STUB) += efi.o
At present the EFI application and payload support codes in the x86 directory is distributed in a hybrid way. For example, the Kconfig options for both app and payload are in arch/x86/lib/efi/Kconfig, but the source codes in the same directory get built only for CONFIG_EFI_STUB. This refactors the codes by consolidating all the EFI support codes into arch/x86/cpu/efi, just like other x86 targets. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> --- arch/x86/Kconfig | 3 +-- arch/x86/cpu/Makefile | 2 +- arch/x86/{lib => cpu}/efi/Kconfig | 0 arch/x86/cpu/efi/Makefile | 7 +++++++ arch/x86/{lib => cpu}/efi/car.S | 0 arch/x86/{lib/efi/efi.c => cpu/efi/payload.c} | 0 arch/x86/lib/Makefile | 1 - arch/x86/lib/efi/Makefile | 7 ------- 8 files changed, 9 insertions(+), 11 deletions(-) rename arch/x86/{lib => cpu}/efi/Kconfig (100%) rename arch/x86/{lib => cpu}/efi/car.S (100%) rename arch/x86/{lib/efi/efi.c => cpu/efi/payload.c} (100%) delete mode 100644 arch/x86/lib/efi/Makefile