target/i386/misc_helper: wrap BQL around another IRQ generator
Anything that calls into HW emulation must be protected by the BQL. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <rth@twiddle.net> Acked-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
parent
8695350357
commit
b4e79a502f
|
@ -18,6 +18,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "qemu/osdep.h"
|
#include "qemu/osdep.h"
|
||||||
|
#include "qemu/main-loop.h"
|
||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "exec/helper-proto.h"
|
#include "exec/helper-proto.h"
|
||||||
#include "exec/exec-all.h"
|
#include "exec/exec-all.h"
|
||||||
|
@ -156,7 +157,9 @@ void helper_write_crN(CPUX86State *env, int reg, target_ulong t0)
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
if (!(env->hflags2 & HF2_VINTR_MASK)) {
|
if (!(env->hflags2 & HF2_VINTR_MASK)) {
|
||||||
|
qemu_mutex_lock_iothread();
|
||||||
cpu_set_apic_tpr(x86_env_get_cpu(env)->apic_state, t0);
|
cpu_set_apic_tpr(x86_env_get_cpu(env)->apic_state, t0);
|
||||||
|
qemu_mutex_unlock_iothread();
|
||||||
}
|
}
|
||||||
env->v_tpr = t0 & 0x0f;
|
env->v_tpr = t0 & 0x0f;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue