MFC 284324,290164:
Workaround debuggers that try to read the full 32-bit words holding
selectors in trapframes.
284324:
Ensure that the upper 16 bits of segment registers manually saved in
trapframes are cleared by explicitly pushing a zero and then moving
the segment register into the low 16 bits. Certain Intel processors
treat a push of a segment register as a move of the segment register
into the low 16 bits leaving the upper 16 bits of the word in the
stack unchanged.
290164:
Use movw instead of movl (or plain mov) when moving segment registers
into memory. This is a nop on clang's assembler, but some assemblers
complain if the size suffix is incorrect.
git-svn-id: svn://svn.freebsd.org/base/stable/10@290668
ccf9f872-aa2e-dd11-9fc8-
001c23d0bc1f