diff options
author | Matt Fleming <matt.fleming@intel.com> | 2014-03-13 14:58:42 +0000 |
---|---|---|
committer | Matt Fleming <matt.fleming@intel.com> | 2014-03-17 21:54:17 +0000 |
commit | e10848a26a962e404ac00c897dfe54f14290806d (patch) | |
tree | 3be0d9d69d2471749b22743f02d3dd98b59a9aed /arch/x86/platform/efi/efi.c | |
parent | 617b3c37da78cb89c63ed880b2405afc7490567b (diff) |
x86/efi: Preserve segment registers in mixed mode
I was triggering a #GP(0) from userland when running with
CONFIG_EFI_MIXED and CONFIG_IA32_EMULATION, from what looked like
register corruption. Turns out that the mixed mode code was trashing the
contents of %ds, %es and %ss in __efi64_thunk().
Save and restore the contents of these segment registers across the call
to __efi64_thunk() so that we don't corrupt the CPU context.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'arch/x86/platform/efi/efi.c')
0 files changed, 0 insertions, 0 deletions