Re: K7/Athlon Optimization Causes Build Fail on Kernel 3.3 i686

From: Trevor Turner
Date: Thu Mar 29 2012 - 14:22:01 EST


On Thu, Mar 29, 2012 at 03:48, Borislav Petkov <bp@xxxxxxxxx> wrote:
> On Thu, Mar 29, 2012 at 09:14:15AM +0100, Matt Fleming wrote:
>> Hmm... I think what might make more sense is to make EFI (not EFI_STUB)
>> depend on !MK7, since I doubt people actually need both MK7 and any EFI
>> firmware support.
>
> ... and EFI_STUB depends on EFI, yeah, true story.
>
> Here's an updated patch, Trevor pls try this one instead, thanks.
>
> --
> From b3419ea2f2d38e758022bab17855eb9df8ee43c0 Mon Sep 17 00:00:00 2001
> From: Borislav Petkov <bp@xxxxxxxxx>
> Date: Thu, 29 Mar 2012 09:39:51 +0200
> Subject: [PATCH] AMD, K7: Fix compilation error when EFI is enabled
>
> Trevor Turner reported that building the 3.3 kernel on his K7 box fails.
> Reproducing the issue locally got us also the exact build error:
>
> arch/x86/boot/compressed/eboot.o: In function `efi_main':
> eboot.c:(.text+0x1530): undefined reference to `_mmx_memcpy'
> eboot.c:(.text+0x17d0): undefined reference to `_mmx_memcpy'
> make[2]: *** [arch/x86/boot/compressed/vmlinux] Error 1
> make[1]: *** [arch/x86/boot/compressed/vmlinux] Error 2
> make[1]: *** Waiting for unfinished jobs....
>
> due to the fact that K7 has special MMX memcpy routines which EFI uses
> through memcpy but is not linked against them thus the build failure.
>
> Instead of making this work, we decided to make EFI and K7 mutually
> exclusive since they're from different epochs anyway. The patch below
> fixes that.
>
> Reported-by: Trevor Turner <turn3r.tr3v0r@xxxxxxxxx>
> Cc: Matt Fleming <matt.fleming@xxxxxxxxx>
> Signed-off-by: Borislav Petkov <bp@xxxxxxxxx>
> ---
> Âarch/x86/Kconfig | Â Â2 +-
> Â1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 5bed94e189fa..95d2b7c9b74a 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -1502,7 +1502,7 @@ config ARCH_RANDOM
>
> Âconfig EFI
> Â Â Â Âbool "EFI runtime service support"
> - Â Â Â depends on ACPI
> + Â Â Â depends on ACPI && !MK7
> Â Â Â Â---help---
> Â Â Â Â ÂThis enables the kernel to use EFI runtime services that are
> Â Â Â Â Âavailable (such as the EFI variable services).
> --
> 1.7.9
>
>
> --
> Regards/Gruss,
> Boris.

Yep, that patch works as expected. When I enable MK7, EFI is disabled
and the build succeeds.

Thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/