return -ESRCH;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ BQL_LOCK_GUARD();
return xen_evtchn_soft_reset();
}
return -EINVAL;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ BQL_LOCK_GUARD();
qemu_mutex_lock(&s->port_lock);
ret = close_port(s, close->port, &flush_kvm_routes);
return -EINVAL;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ BQL_LOCK_GUARD();
if (s->pirq[pirq->pirq].port) {
return -EBUSY;
return -ENOTSUP;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ BQL_LOCK_GUARD();
QEMU_LOCK_GUARD(&s->port_lock);
if (map->domid != DOMID_SELF && map->domid != xen_domid) {
return -EINVAL;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ BQL_LOCK_GUARD();
qemu_mutex_lock(&s->port_lock);
if (!pirq_inuse(s, pirq)) {
return -ENOTSUP;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ BQL_LOCK_GUARD();
QEMU_LOCK_GUARD(&s->port_lock);
if (!pirq_inuse(s, pirq)) {
return -ENOTSUP;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ BQL_LOCK_GUARD();
QEMU_LOCK_GUARD(&s->port_lock);
if (!pirq_inuse(s, pirq)) {
return -EINVAL;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ BQL_LOCK_GUARD();
QEMU_LOCK_GUARD(&s->gnt_lock);
xen_overlay_do_map_page(&s->gnt_aliases[idx], gpa);
return;
}
- QEMU_IOTHREAD_LOCK_GUARD();
+ BQL_LOCK_GUARD();
if (level) {
env->CP0_Cause |= 1 << (irq + CP0Ca_IP);
unsigned int old_pending;
/* We may already have the BQL if coming from the reset path */
- QEMU_IOTHREAD_LOCK_GUARD();
+ BQL_LOCK_GUARD();
old_pending = env->pending_interrupts;
void bql_unlock(void);
/**
- * QEMU_IOTHREAD_LOCK_GUARD
+ * BQL_LOCK_GUARD
*
* Wrap a block of code in a conditional bql_{lock,unlock}.
*/
-typedef struct IOThreadLockAuto IOThreadLockAuto;
+typedef struct BQLLockAuto BQLLockAuto;
-static inline IOThreadLockAuto *qemu_iothread_auto_lock(const char *file,
- int line)
+static inline BQLLockAuto *bql_auto_lock(const char *file, int line)
{
if (bql_locked()) {
return NULL;
}
bql_lock_impl(file, line);
/* Anything non-NULL causes the cleanup function to be called */
- return (IOThreadLockAuto *)(uintptr_t)1;
+ return (BQLLockAuto *)(uintptr_t)1;
}
-static inline void qemu_iothread_auto_unlock(IOThreadLockAuto *l)
+static inline void bql_auto_unlock(BQLLockAuto *l)
{
bql_unlock();
}
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(IOThreadLockAuto, qemu_iothread_auto_unlock)
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(BQLLockAuto, bql_auto_unlock)
-#define QEMU_IOTHREAD_LOCK_GUARD() \
- g_autoptr(IOThreadLockAuto) _iothread_lock_auto __attribute__((unused)) \
- = qemu_iothread_auto_lock(__FILE__, __LINE__)
+#define BQL_LOCK_GUARD() \
+ g_autoptr(BQLLockAuto) _bql_lock_auto __attribute__((unused)) \
+ = bql_auto_lock(__FILE__, __LINE__)
/*
* qemu_cond_wait_iothread: Wait on condition for the main loop mutex
uint64_t gpa = gfn << TARGET_PAGE_BITS;
int i, err;
- QEMU_IOTHREAD_LOCK_GUARD();
+ BQL_LOCK_GUARD();
/*
* The xen_overlay device tells KVM about it too, since it had to
void ppc_maybe_interrupt(CPUPPCState *env)
{
CPUState *cs = env_cpu(env);
- QEMU_IOTHREAD_LOCK_GUARD();
+ BQL_LOCK_GUARD();
if (ppc_next_unmasked_interrupt(env)) {
cpu_interrupt(cs, CPU_INTERRUPT_HARD);
* unless running with TCG.
*/
if (tcg_enabled()) {
- QEMU_IOTHREAD_LOCK_GUARD();
+ BQL_LOCK_GUARD();
cpu_interrupt(cs, CPU_INTERRUPT_EXITTB);
}
}
uint64_t gein, vsgein = 0, vstip = 0, irqf = 0;
CPUState *cs = env_cpu(env);
- QEMU_IOTHREAD_LOCK_GUARD();
+ BQL_LOCK_GUARD();
if (env->virt_enabled) {
gein = get_field(env->hstatus, HSTATUS_VGEIN);
/* No need to update mip for VSTIP */
mask = ((mask == MIP_VSTIP) && env->vstime_irq) ? 0 : mask;
- QEMU_IOTHREAD_LOCK_GUARD();
+ BQL_LOCK_GUARD();
env->mip = (env->mip & ~mask) | (value & mask);