Bug 50391

Summary: EFI_STUB should conflict with 3DNow
Product: Platform Specific/Hardware Reporter: Ryan Underwood (nemesis)
Component: i386Assignee: platform_i386
Status: RESOLVED CODE_FIX    
Severity: normal CC: alan, matt
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.6.6 Subsystem:
Regression: No Bisected commit-id:

Description Ryan Underwood 2012-11-12 00:24:38 UTC
Long kernel thread here about the problem, which is a failure to link _mmx_memcpy when building eboot.o

Solution 1:
https://lkml.org/lkml/2012/3/22/105

User Report:
http://lkml.indiana.edu/hypermail/linux/kernel/1203.3/01057.html

Solution 2 pursuant to User Report:
http://lkml.indiana.edu/hypermail/linux/kernel/1203.3/01718.html

Solution 2 is close but leaves out other 3DNow processors like Cyrix III and Geode.  I solved this problem with the following patch instead:

--- arch/x86/Kconfig    2012-11-05 02:57:06.000000000 -0600
+++ ../../linux-3.6.6/arch/x86/Kconfig  2012-11-11 17:57:42.989147848 -0600
@@ -1503,7 +1503,7 @@
 
 config EFI_STUB
        bool "EFI stub support"
-       depends on EFI
+       depends on EFI && !X86_USE_3DNOW
        ---help---
           This kernel feature allows a bzImage to be loaded directly
          by EFI firmware without the use of a bootloader.
Comment 1 Matt Fleming 2012-11-26 08:38:26 UTC
This has been fixed in a different way,

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commitdiff;h=0f905a43ce955b638139bd84486194770a6a2c08

since there is no reason to prohibit building a kernel with 3DNow support and the EFI boot stub.