commit | e10848a26a962e404ac00c897dfe54f14290806d | [log] [tgz] |
---|---|---|
author | Matt Fleming <matt.fleming@intel.com> | Thu Mar 13 14:58:42 2014 +0000 |
committer | Matt Fleming <matt.fleming@intel.com> | Mon Mar 17 21:54:17 2014 +0000 |
tree | 3be0d9d69d2471749b22743f02d3dd98b59a9aed | |
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>