diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2021-08-13 17:11:49 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2021-08-25 10:48:49 +0100 |
commit | e3152d02da21ac6e2169b1bf104a2d0478664a4a (patch) | |
tree | 4ea33d2df061423db635a6e41d967433d3f5926d /blockdev.c | |
parent | e0d40070e1b3b6cf16ad2a51e85fb92261363d2a (diff) | |
download | qemu-e3152d02da21ac6e2169b1bf104a2d0478664a4a.zip qemu-e3152d02da21ac6e2169b1bf104a2d0478664a4a.tar.gz qemu-e3152d02da21ac6e2169b1bf104a2d0478664a4a.tar.bz2 |
target/arm: Fix VPT advance when ECI is non-zero
We were not paying attention to the ECI state when advancing the VPT
state. Architecturally, VPT state advance happens for every beat
(see the pseudocode VPTAdvance()), so on every beat the 4 bits of
VPR.P0 corresponding to the current beat are inverted if required,
and at the end of beats 1 and 3 the VPR MASK fields are updated.
This means that if the ECI state says we should not be executing all
4 beats then we need to skip some of the updating of the VPR that we
currently do in mve_advance_vpt().
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'blockdev.c')
0 files changed, 0 insertions, 0 deletions