Methods, software/firmware, and apparatus to support use of software
running on platform hardware employing different endianness. In one
embodiment, an endian byte order shim is implemented in a firmware stack
to facilitate the use of software running on a computer platform having a
processor employing an endianness that is different from the endianness
native to the software. In response to software calls into the firmware,
the endian byte order shim converts the endian byte order of the call
arguments, as necessary, and passes the converted arguments to the
firmware. Similarly, return arguments generated via the firmware (and/or
platform hardware) are converted back to the endian byte order native to
the software prior to being returned to the software.