summaryrefslogtreecommitdiff
path: root/arch/x86/lib
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2017-01-16 14:04:10 (GMT)
committerBin Meng <bmeng.cn@gmail.com>2017-02-06 03:38:46 (GMT)
commit23b89d4d6ed05be0e7be4b22703dd9ecd66ac7ba (patch)
treeec53dacbcb06e897c07d1479dfea1990136e22cf /arch/x86/lib
parent05cbd985c0b9b5319355fcd562f5665d5fcb8652 (diff)
downloadu-boot-fsl-qoriq-23b89d4d6ed05be0e7be4b22703dd9ecd66ac7ba.tar.xz
x86: Don't build call64 and setjmp on 64-bit
These are currently not supported. Calling 64-bit code from 64-bit U-Boot is much simpler, so this code is not needed. setjmp() is not yet implemented for 64-bit. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'arch/x86/lib')
-rw-r--r--arch/x86/lib/bootm.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/lib/bootm.c b/arch/x86/lib/bootm.c
index e5e63f6..3c3d9e1 100644
--- a/arch/x86/lib/bootm.c
+++ b/arch/x86/lib/bootm.c
@@ -155,7 +155,14 @@ int boot_linux_kernel(ulong setup_base, ulong load_address, bool image_64bit)
puts("Cannot boot 64-bit kernel on 32-bit machine\n");
return -EFAULT;
}
+ /* At present 64-bit U-Boot does not support booting a
+ * kernel.
+ * TODO(sjg@chromium.org): Support booting both 32-bit and
+ * 64-bit kernels from 64-bit U-Boot.
+ */
+#if !CONFIG_IS_ENABLED(X86_64)
return cpu_jump_to_64bit(setup_base, load_address);
+#endif
} else {
/*
* Set %ebx, %ebp, and %edi to 0, %esi to point to the