unicorn/qemu/target-arm
Ard Biesheuvel 9b28dc55c8
target-arm: crypto: fix BE host support
The crypto emulation code in target-arm/crypto_helper.c never worked
correctly on big endian hosts, due to the fact that it uses a union
of array types to convert between the native VFP register size (64
bits) and the types used in the algorithms (bytes and 32 bit words)

We cannot just swab between LE and BE when reading and writing the
registers, as the SHA code performs word additions, so instead, add
array accessors for the CRYPTO_STATE type whose LE and BE specific
implementations ensure that the correct array elements are referenced.

Backports commit b449ca3c1874418d948878d5417a32fc0dbf9fea from qemu
2018-02-12 10:40:52 -05:00
..
arm_ldst.h import 2015-08-21 15:04:50 +08:00
cpu-qom.h target-arm: Add ARMCPU secure property 2018-02-12 10:40:52 -05:00
cpu.c target-arm: add cpu feature EL3 to CPUs with Security Extensions 2018-02-12 10:40:52 -05:00
cpu.h target-arm: make MAIR0/1 banked 2018-02-12 10:40:52 -05:00
cpu64.c target-arm: add CPREG secure state support 2018-02-11 18:29:35 -05:00
crypto_helper.c target-arm: crypto: fix BE host support 2018-02-12 10:40:52 -05:00
helper-a64.c target-arm: Use new revbit functions 2018-02-11 02:57:55 -05:00
helper-a64.h import 2015-08-21 15:04:50 +08:00
helper.c target-arm: Merge EL3 CP15 register lists 2018-02-12 10:40:52 -05:00
helper.h rework code/block tracing 2016-01-22 19:07:50 -08:00
internals.h target-arm: make TTBCR banked 2018-02-11 19:59:03 -05:00
iwmmxt_helper.c import 2015-08-21 15:04:50 +08:00
kvm-consts.h import 2015-08-21 15:04:50 +08:00
Makefile.objs delete sparc32_dma.h & arm-semi.c 2017-01-19 15:10:41 +08:00
neon_helper.c Arm support ported. (#736) 2017-01-23 23:30:57 +08:00
op_addsub.h import 2015-08-21 15:04:50 +08:00
op_helper.c target-arm: make c13 cp regs banked (FCSEIDR, ...) 2018-02-12 10:40:51 -05:00
psci.c import 2015-08-21 15:04:50 +08:00
translate-a64.c target-arm: Add condexec state to insn_start 2018-02-11 15:13:40 -05:00
translate.c target-arm: add secure state bit to CPREG hash 2018-02-11 18:35:52 -05:00
translate.h target-arm: add non-secure Translation Block flag 2018-02-11 17:50:46 -05:00
unicorn.h arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
unicorn_aarch64.c target-arm: make c13 cp regs banked (FCSEIDR, ...) 2018-02-12 10:40:51 -05:00
unicorn_arm.c fix conflicts 2017-03-30 12:23:24 +08:00