summaryrefslogtreecommitdiff
path: root/lib/debugobjects.c
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2020-06-09 10:40:35 +0300
committerMarc Zyngier <maz@kernel.org>2020-06-10 18:03:57 +0300
commit3204be4109ad681523e3461ce64454c79278450a (patch)
tree26da96016b68da0a7132b158e832eea77ab8ac2a /lib/debugobjects.c
parente8679fedd026eb3b4655af83829d9036e32c9b97 (diff)
downloadlinux-3204be4109ad681523e3461ce64454c79278450a.tar.xz
KVM: arm64: Make vcpu_cp1x() work on Big Endian hosts
AArch32 CP1x registers are overlayed on their AArch64 counterparts in the vcpu struct. This leads to an interesting problem as they are stored in their CPU-local format, and thus a CP1x register doesn't "hit" the lower 32bit portion of the AArch64 register on a BE host. To workaround this unfortunate situation, introduce a bias trick in the vcpu_cp1x() accessors which picks the correct half of the 64bit register. Cc: stable@vger.kernel.org Reported-by: James Morse <james.morse@arm.com> Tested-by: James Morse <james.morse@arm.com> Acked-by: James Morse <james.morse@arm.com> Signed-off-by: Marc Zyngier <maz@kernel.org>
Diffstat (limited to 'lib/debugobjects.c')
0 files changed, 0 insertions, 0 deletions