OSDN Git Service

tile: improve big-endian support
authorChris Metcalf <cmetcalf@tilera.com>
Wed, 7 Aug 2013 15:55:35 +0000 (11:55 -0400)
committerChris Metcalf <cmetcalf@tilera.com>
Tue, 13 Aug 2013 20:26:05 +0000 (16:26 -0400)
commitba02f0eb826da6dbdc5a2958ac52304ee441234f
tree8b50a046b6dd1a4cbc1379ae43c1c673c39e8d3d
parentbc1a298f4e04833db4c430df59b90039f0170515
tile: improve big-endian support

First, fix a bug in asm/unaligned.h; we need to just use the asm-generic
unaligned.h so we properly choose endian-correct flavors.

Second, keep the hv/hypervisor.h ABI fully "native" in the sense that
we don't have __BIG_ENDIAN__ ifdefs there.  Instead, we use macros in
the head_NN.S assembly code to properly extract two 32-bit structure
members from a 64-bit register holding the structure.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
arch/tile/include/asm/unaligned.h
arch/tile/include/hv/hypervisor.h
arch/tile/kernel/head_64.S