x86: Allow use of global_data with EFI
authorSimon Glass <sjg@chromium.org>
Fri, 31 Jul 2015 15:31:35 +0000 (09:31 -0600)
committerSimon Glass <sjg@chromium.org>
Wed, 5 Aug 2015 14:42:41 +0000 (08:42 -0600)
commit8f3b9694b217b7083fcbc44d7a28c16185c0c579
tree817292fe32e6188f1402b829d7e9e62861dca108
parent53292ad956329eb18de0604f369cd99dd2a2579f
x86: Allow use of global_data with EFI

On x86 the global_data pointer is provided through a somewhat-bizarre and
x86-specific mechanism: the F segment register is set to a pointer to the
start of global_data, so that accesses can use this build-in register.

When running as an EFI application we don't want to mess with the Global
Descriptor Table (GDT) and there is little advantage (in terms of code size)
to doing so.

Allow global_data to be a simple variable in this case.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/include/asm/global_data.h