x86/boot: Fix non-EFI build
authorMatt Fleming <matt.fleming@intel.com>
Wed, 5 Mar 2014 10:15:55 +0000 (10:15 +0000)
committerMatt Fleming <matt.fleming@intel.com>
Wed, 5 Mar 2014 10:19:07 +0000 (10:19 +0000)
The kbuild test robot reported the following errors, introduced with
commit 54b52d872680 ("x86/efi: Build our own EFI services pointer
table"),

 arch/x86/boot/compressed/head_32.o: In function `efi32_config':
>> (.data+0x58): undefined reference to `efi_call_phys'

 arch/x86/boot/compressed/head_64.o: In function `efi64_config':
>> (.data+0x90): undefined reference to `efi_call6'

Wrap the efi*_config structures in #ifdef CONFIG_EFI_STUB so that we
don't make references to EFI functions if they're not compiled in.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
arch/x86/boot/compressed/head_32.S
arch/x86/boot/compressed/head_64.S

index cccc05f0681c868a27487270d6085bf2ed96f419..de9d4200d305ba86eb48bb60f3a852b210fb2649 100644 (file)
@@ -229,12 +229,14 @@ relocated:
        xorl    %ebx, %ebx
        jmp     *%eax
 
+#ifdef CONFIG_EFI_STUB
        .data
 efi32_config:
        .fill 11,8,0
        .long efi_call_phys
        .long 0
        .byte 0
+#endif
 
 /*
  * Stack and heap for uncompression
index 4f40cddd025d5be69b1e1f1ac12db1bfca3f1318..57e58a5fa21073de1c86f4ceee6b76e674d87399 100644 (file)
@@ -440,6 +440,7 @@ gdt:
        .quad   0x0000000000000000      /* TS continued */
 gdt_end:
 
+#ifdef CONFIG_EFI_STUB
 efi_config:
        .quad   0
 
@@ -456,6 +457,8 @@ efi64_config:
        .fill   11,8,0
        .quad   efi_call6
        .byte   1
+#endif /* CONFIG_EFI_STUB */
+
 /*
  * Stack and heap for uncompression
  */