When restoring spsr values when handling traps use spsr_fsxc instead of spsr_all so all the bits are restored.  Using the msr instruction with spsr_all is treated the same as spsr_fc and does not include the status and extension fields (bits 23:8).
When restoring spsr values when handling traps use spsr_fsxc instead
of spsr_all so all the bits are restored.  Using the msr instruction
with spsr_all is treated the same as spsr_fc and does not include the
status and extension fields (bits 23:8).

This fixes the problem of some i.MX6 machines powering up with the
big endian bit set in the extension field causing them to crash
on returning from the first interrupt.

From NetBSD.

orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars