Hi,
All of the changes in this revision are addressing comments from v7
posted last week. A new pre-cursor patch was added:
cputlb and arm/sparc targets: convert mmuidx flushes from varg to
bitmap
To change the cputlb API to use a bitmap instead of vargs. This has
generated quite a bit of churn in the ARM target but it is pretty
mechanical.
I also folded the BQL irq protection patches from v7 into:
tcg: drop global lock during TCG code execution
This is required to keep the series bisectable although the BQL safety
is only really relevant to guests using MTTCG. I didn't think it was
worth making the asserts conditional on parallel_cpus although it does
mean this patch gets a little bigger.
The other big change was to:
cputlb: introduce tlb_flush_*_all_cpus[_synced]
Where I replaced the wait flag with an expanded set of API calls. The
*_synced variants which are marked as QEMU_NORETURN to make their
behaviour clear.
The series applies to origin/master as of today and you can find my
tree at:
https://github.com/stsquad/qemu/tree/mttcg/base-patches-v8
There is the usual collection of r-b tags and minor merge/re-base
fixes all documented in the --- sections of the commit messages.
In terms of merging strategy I would appreciate some thoughts. While I
think the series is ready to go I appreciate it is quite a chunk to
merge in one go. That said an early merge gives us plenty of time to
shake out any lingering issues before feature freeze.