summaryrefslogtreecommitdiffstats
path: root/sys/amd64/vmm/io/vioapic.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/amd64/vmm/io/vioapic.c')
-rw-r--r--sys/amd64/vmm/io/vioapic.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/amd64/vmm/io/vioapic.c b/sys/amd64/vmm/io/vioapic.c
index 703e479..411887d 100644
--- a/sys/amd64/vmm/io/vioapic.c
+++ b/sys/amd64/vmm/io/vioapic.c
@@ -64,8 +64,8 @@ struct vioapic {
} rtbl[REDIR_ENTRIES];
};
-#define VIOAPIC_LOCK(vioapic) mtx_lock(&((vioapic)->mtx))
-#define VIOAPIC_UNLOCK(vioapic) mtx_unlock(&((vioapic)->mtx))
+#define VIOAPIC_LOCK(vioapic) mtx_lock_spin(&((vioapic)->mtx))
+#define VIOAPIC_UNLOCK(vioapic) mtx_unlock_spin(&((vioapic)->mtx))
#define VIOAPIC_LOCKED(vioapic) mtx_owned(&((vioapic)->mtx))
static MALLOC_DEFINE(M_VIOAPIC, "vioapic", "bhyve virtual ioapic");
@@ -476,7 +476,7 @@ vioapic_init(struct vm *vm)
vioapic = malloc(sizeof(struct vioapic), M_VIOAPIC, M_WAITOK | M_ZERO);
vioapic->vm = vm;
- mtx_init(&vioapic->mtx, "vioapic lock", NULL, MTX_DEF);
+ mtx_init(&vioapic->mtx, "vioapic lock", NULL, MTX_SPIN);
/* Initialize all redirection entries to mask all interrupts */
for (i = 0; i < REDIR_ENTRIES; i++)
OpenPOWER on IntegriCloud