summary refs log tree commit diff stats
path: root/hw/intc/m68k_irqc.c
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2022-12-14 14:27:09 +0000
committerPeter Maydell <peter.maydell@linaro.org>2022-12-15 11:18:20 +0000
commit2d3ce4c6f3bc66234e384355cedc6e7aa40903ac (patch)
treed3036978ffee15b7125cb3843991e67fb27e0898 /hw/intc/m68k_irqc.c
parentfe3ca86c465428f738520de304e7a7a59bd0a6c2 (diff)
downloadfocaccia-qemu-2d3ce4c6f3bc66234e384355cedc6e7aa40903ac.tar.gz
focaccia-qemu-2d3ce4c6f3bc66234e384355cedc6e7aa40903ac.zip
target/arm: Implement HCR_EL2.TICAB,TOCU traps
For FEAT_EVT, the HCR_EL2.TICAB bit allows trapping of the ICIALLUIS
and IC IALLUIS cache maintenance instructions.

The HCR_EL2.TOCU bit traps all the other cache maintenance
instructions that operate to the point of unification:
 AArch64 IC IVAU, IC IALLU, DC CVAU
 AArch32 ICIMVAU, ICIALLU, DCCMVAU

The two trap bits between them cover all of the cache maintenance
instructions which must also check the HCR_TPU flag.  Turn the old
aa64_cacheop_pou_access() function into a helper function which takes
the set of HCR_EL2 flags to check as an argument, and call it from
new access_ticab() and access_tocu() functions as appropriate for
each cache op.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'hw/intc/m68k_irqc.c')
0 files changed, 0 insertions, 0 deletions