unicorn/qemu/target-arm
Andrew Jones ea94701bd0
target-arm: fix get_phys_addr_v6/SCTLR_AFE access check
Introduce simple_ap_to_rw_prot(), which has the same behavior as
ap_to_rw_prot(), but takes the 2-bit simple AP[2:1] instead of
the 3-bit AP[2:0]. Use this in get_phys_addr_v6 when SCTLR_AFE
is set, as that bit indicates we should be using the simple AP
format.

It's unlikely this path is getting used. I don't see CR_AFE
getting used by Linux, so possibly not. If it had been, then
the check would have been wrong for all but AP[2:1] = 0b11.
Anyway, this should fix it up, in case it ever does get used.

Backports commit d76951b65dfb1be4e41cfae6abebf8db7a1243a3 from qemu
2018-02-12 20:22:55 -05:00
..
arm_ldst.h import 2015-08-21 15:04:50 +08:00
cpu64.c target-arm: Add CPU property to disable AArch64 2018-02-12 13:56:44 -05:00
cpu-qom.h target-arm: Add ARMCPU secure property 2018-02-12 10:40:52 -05:00
cpu.c target-arm: Add CPU property to disable AArch64 2018-02-12 13:56:44 -05:00
cpu.h target-arm: Add 32/64-bit register sync 2018-02-12 14:57:20 -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: Store SPSR_EL1 state in banked_spsr[1] (SPSR_svc) 2018-02-12 16:36:44 -05:00
helper-a64.h import 2015-08-21 15:04:50 +08:00
helper.c target-arm: fix get_phys_addr_v6/SCTLR_AFE access check 2018-02-12 20:22:55 -05:00
helper.h rework code/block tracing 2016-01-22 19:07:50 -08:00
internals.h target-arm: Store SPSR_EL1 state in banked_spsr[1] (SPSR_svc) 2018-02-12 16:36:44 -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: Add 32/64-bit register sync 2018-02-12 14:57:20 -05:00
psci.c import 2015-08-21 15:04:50 +08:00
translate-a64.c target-arm: A64: Avoid signed shifts in disas_ldst_pair() 2018-02-12 15:05:09 -05:00
translate.c target-arm: Avoid buffer overrun on UNPREDICTABLE ldrd/strd 2018-02-12 17:17:23 -05:00
translate.h target-arm: Define correct mmu_idx values and pass them in TB flags 2018-02-12 11:21:19 -05: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
unicorn.h arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00