2020-03-04 18:37:51

by Arvind Sankar

[permalink] [raw]
Subject: [PATCH] efi/x86: Move mixed-mode thunk to efi/libstub

Commit c2d0b470154c ("efi/libstub/x86: Incorporate eboot.c into
libstub") moved all the callers of the mixed-mode thunk into
efi/libstub, so move the thunk itself as well for completeness.

Signed-off-by: Arvind Sankar <[email protected]>
---
arch/x86/boot/compressed/Makefile | 1 -
drivers/firmware/efi/libstub/Makefile | 1 +
.../firmware/efi/libstub/x86_64-thunk.S | 0
3 files changed, 1 insertion(+), 1 deletion(-)
rename arch/x86/boot/compressed/efi_thunk_64.S => drivers/firmware/efi/libstub/x86_64-thunk.S (100%)

diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile
index e51879bdc51c..047004d39a55 100644
--- a/arch/x86/boot/compressed/Makefile
+++ b/arch/x86/boot/compressed/Makefile
@@ -88,7 +88,6 @@ endif
vmlinux-objs-$(CONFIG_ACPI) += $(obj)/acpi.o

vmlinux-objs-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a
-vmlinux-objs-$(CONFIG_EFI_MIXED) += $(obj)/efi_thunk_$(BITS).o

# The compressed kernel is built with -fPIC/-fPIE so that a boot loader
# can place it anywhere in memory and it will still run. However, since
diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile
index 4d6246c6f651..85b66e5e5d1f 100644
--- a/drivers/firmware/efi/libstub/Makefile
+++ b/drivers/firmware/efi/libstub/Makefile
@@ -55,6 +55,7 @@ lib-$(CONFIG_EFI_ARMSTUB) += arm-stub.o fdt.o string.o \
lib-$(CONFIG_ARM) += arm32-stub.o
lib-$(CONFIG_ARM64) += arm64-stub.o
lib-$(CONFIG_X86) += x86-stub.o
+lib-$(CONFIG_EFI_MIXED) += x86_64-thunk.o
CFLAGS_arm32-stub.o := -DTEXT_OFFSET=$(TEXT_OFFSET)
CFLAGS_arm64-stub.o := -DTEXT_OFFSET=$(TEXT_OFFSET)

diff --git a/arch/x86/boot/compressed/efi_thunk_64.S b/drivers/firmware/efi/libstub/x86_64-thunk.S
similarity index 100%
rename from arch/x86/boot/compressed/efi_thunk_64.S
rename to drivers/firmware/efi/libstub/x86_64-thunk.S
--
2.24.1


2020-03-04 18:40:15

by Ard Biesheuvel

[permalink] [raw]
Subject: Re: [PATCH] efi/x86: Move mixed-mode thunk to efi/libstub

On Wed, 4 Mar 2020 at 19:37, Arvind Sankar <[email protected]> wrote:
>
> Commit c2d0b470154c ("efi/libstub/x86: Incorporate eboot.c into
> libstub") moved all the callers of the mixed-mode thunk into
> efi/libstub, so move the thunk itself as well for completeness.
>
> Signed-off-by: Arvind Sankar <[email protected]>

Thanks for the patch, but I'd prefer to leave the .S pieces under arch/
(unless there's some benefit I'm not seeing)

> ---
> arch/x86/boot/compressed/Makefile | 1 -
> drivers/firmware/efi/libstub/Makefile | 1 +
> .../firmware/efi/libstub/x86_64-thunk.S | 0
> 3 files changed, 1 insertion(+), 1 deletion(-)
> rename arch/x86/boot/compressed/efi_thunk_64.S => drivers/firmware/efi/libstub/x86_64-thunk.S (100%)
>
> diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile
> index e51879bdc51c..047004d39a55 100644
> --- a/arch/x86/boot/compressed/Makefile
> +++ b/arch/x86/boot/compressed/Makefile
> @@ -88,7 +88,6 @@ endif
> vmlinux-objs-$(CONFIG_ACPI) += $(obj)/acpi.o
>
> vmlinux-objs-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a
> -vmlinux-objs-$(CONFIG_EFI_MIXED) += $(obj)/efi_thunk_$(BITS).o
>
> # The compressed kernel is built with -fPIC/-fPIE so that a boot loader
> # can place it anywhere in memory and it will still run. However, since
> diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile
> index 4d6246c6f651..85b66e5e5d1f 100644
> --- a/drivers/firmware/efi/libstub/Makefile
> +++ b/drivers/firmware/efi/libstub/Makefile
> @@ -55,6 +55,7 @@ lib-$(CONFIG_EFI_ARMSTUB) += arm-stub.o fdt.o string.o \
> lib-$(CONFIG_ARM) += arm32-stub.o
> lib-$(CONFIG_ARM64) += arm64-stub.o
> lib-$(CONFIG_X86) += x86-stub.o
> +lib-$(CONFIG_EFI_MIXED) += x86_64-thunk.o
> CFLAGS_arm32-stub.o := -DTEXT_OFFSET=$(TEXT_OFFSET)
> CFLAGS_arm64-stub.o := -DTEXT_OFFSET=$(TEXT_OFFSET)
>
> diff --git a/arch/x86/boot/compressed/efi_thunk_64.S b/drivers/firmware/efi/libstub/x86_64-thunk.S
> similarity index 100%
> rename from arch/x86/boot/compressed/efi_thunk_64.S
> rename to drivers/firmware/efi/libstub/x86_64-thunk.S
> --
> 2.24.1
>

2020-03-04 18:49:36

by Arvind Sankar

[permalink] [raw]
Subject: Re: [PATCH] efi/x86: Move mixed-mode thunk to efi/libstub

On Wed, Mar 04, 2020 at 07:39:23PM +0100, Ard Biesheuvel wrote:
> On Wed, 4 Mar 2020 at 19:37, Arvind Sankar <[email protected]> wrote:
> >
> > Commit c2d0b470154c ("efi/libstub/x86: Incorporate eboot.c into
> > libstub") moved all the callers of the mixed-mode thunk into
> > efi/libstub, so move the thunk itself as well for completeness.
> >
> > Signed-off-by: Arvind Sankar <[email protected]>
>
> Thanks for the patch, but I'd prefer to leave the .S pieces under arch/
> (unless there's some benefit I'm not seeing)
>

Ok. I can't think of any objective benefit.