linux/arch/x86/realmode/rm
H. Peter Anvin e5684ec438 x86, realmode: Replace open-coded ljmpw with a macro
We cannot code an ljmpw to the real-mode segment directly, because gas
refuses to assemble an ljmp with a symbolic segment.  Instead of
open-coding it everywhere, define a macro and use it for this case.

This is specifically an ljmpw from a 16-bit segment.  This is okay, as
one should never enter real mode from a 32-bit segment: if one do, the
CPU ends up in a bizarre (and useless) mode sometimes called "unreal
mode" where segments behave like real mode but the default address and
operand sizes is 32 bits.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Link: http://lkml.kernel.org/r/1336501366-28617-15-git-send-email-jarkko.sakkinen@intel.com
2012-05-08 11:48:03 -07:00
..
wakeup x86, realmode: Replace open-coded ljmpw with a macro 2012-05-08 11:48:03 -07:00
.gitignore
header.S x86, realmode: Move ACPI wakeup to unified realmode code 2012-05-08 11:46:05 -07:00
Makefile x86, realmode: Move ACPI wakeup to unified realmode code 2012-05-08 11:46:05 -07:00
realmode.h x86, realmode: Replace open-coded ljmpw with a macro 2012-05-08 11:48:03 -07:00
realmode.lds.S x86, realmode: Add .text64 section, make barrier symbols absolute 2012-05-08 11:47:18 -07:00
reboot_32.S x86, realmode: Replace open-coded ljmpw with a macro 2012-05-08 11:48:03 -07:00
trampoline_32.S x86, realmode: Replace open-coded ljmpw with a macro 2012-05-08 11:48:03 -07:00
trampoline_64.S x86, realmode: Replace open-coded ljmpw with a macro 2012-05-08 11:48:03 -07:00