On 8/19/20 11:28 AM, Robert Foley wrote: > Adding ->do_interrupt_locked to ARMCPUClass is preparation for > pushing the BQL down into the per-arch implementation of ->do_interrupt. > > This is needed since ARM's *_cpu_exec_interrupt calls to *_do_interrupt. > With the push down of the BQL into *_cpu_exec_interrupt and > *_do_interrupt, *_cpu_exec_interrupt will call to ->do_interrupt > with lock held. Since ->do_interrupt also has the lock, we need a way > to allow cpu_exec_interrupt to call do_interrupt with lock held. > This patch solves this issue of *_cpu_exec_interrupt needing > to call do_interrupt with lock held. > > This patch is part of a series of transitions to move the > BQL down into the do_interrupt per arch functions. This set of > transitions is needed to maintain bisectability. > > This approach was suggested by Paolo Bonzini. > For reference, here are two key posts in the discussion, explaining > the reasoning/benefits of this approach. > https://lists.gnu.org/archive/html/qemu-devel/2020-08/msg00784.html > https://lists.gnu.org/archive/html/qemu-devel/2020-08/msg01517.html > https://lists.gnu.org/archive/html/qemu-devel/2020-07/msg08731.html > https://lists.gnu.org/archive/html/qemu-devel/2020-08/msg00044.html > > Signed-off-by: Robert Foley <robert.fo...@linaro.org> > --- > target/arm/cpu-qom.h | 3 +++ > target/arm/cpu.c | 5 +++-- > target/arm/cpu_tcg.c | 5 +++-- > 3 files changed, 9 insertions(+), 4 deletions(-)
Reviewed-by: Richard Henderson <richard.hender...@linaro.org> r~