]> git.proxmox.com Git - mirror_qemu.git/commit
cputlb and arm/sparc targets: convert mmuidx flushes from varg to bitmap
authorAlex Bennée <alex.bennee@linaro.org>
Thu, 23 Feb 2017 18:29:19 +0000 (18:29 +0000)
committerAlex Bennée <alex.bennee@linaro.org>
Fri, 24 Feb 2017 10:32:46 +0000 (10:32 +0000)
commit0336cbf8532935d8e23c2aabf3e2ce2c0697b6ac
tree1171f1ec1a890596b4e5e56cd70315c5468ceeef
parente3b9ca810980851f93f5719a7df2044c9435f003
cputlb and arm/sparc targets: convert mmuidx flushes from varg to bitmap

While the vargs approach was flexible the original MTTCG ended up
having munge the bits to a bitmap so the data could be used in
deferred work helpers. Instead of hiding that in cputlb we push the
change to the API to make it take a bitmap of MMU indexes instead.

For ARM some the resulting flushes end up being quite long so to aid
readability I've tended to move the index shifting to a new line so
all the bits being or-ed together line up nicely, for example:

    tlb_flush_page_by_mmuidx(other_cs, pageaddr,
                             (1 << ARMMMUIdx_S1SE1) |
                             (1 << ARMMMUIdx_S1SE0));

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
[AT: SPARC parts only]
Reviewed-by: Artyom Tarasenko <atar4qemu@gmail.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
[PM: ARM parts only]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
cputlb.c
include/exec/exec-all.h
target/arm/helper.c
target/sparc/ldst_helper.c