summaryrefslogtreecommitdiff
path: root/sys/dev/pv/xenvar.h
diff options
context:
space:
mode:
authorMike Belopuhov <mikeb@cvs.openbsd.org>2015-12-21 19:43:17 +0000
committerMike Belopuhov <mikeb@cvs.openbsd.org>2015-12-21 19:43:17 +0000
commitfa3193065f4edb9d25cf3586a7b49d4239154b26 (patch)
tree96adc5bfd3c7f2500e75e656998abd359eee4ca2 /sys/dev/pv/xenvar.h
parentb77074dbe6077d3fbaf56489757cdb6f8c3ce4b2 (diff)
Introduce xen_intr_mask and xen_intr_unmask primitives
Mask the event port during xen_intr_establish, but don't set the masked flag in the intsrc. By providing mask and unmask routines we allow the device to decide when to perform these actions. The port will still be unmasked during xen_intr_enable. This allows netfront to fulfil the intr_barrier pattern requirements fairly easily and at the same time should be sufficient for diskfront that doesn't need to fiddle with interrupt masking.
Diffstat (limited to 'sys/dev/pv/xenvar.h')
-rw-r--r--sys/dev/pv/xenvar.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/pv/xenvar.h b/sys/dev/pv/xenvar.h
index 4d306ba68f4..6b0c136c58f 100644
--- a/sys/dev/pv/xenvar.h
+++ b/sys/dev/pv/xenvar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: xenvar.h,v 1.14 2015/12/21 18:17:36 mikeb Exp $ */
+/* $OpenBSD: xenvar.h,v 1.15 2015/12/21 19:43:16 mikeb Exp $ */
/*
* Copyright (c) 2015 Mike Belopuhov
@@ -90,6 +90,8 @@ int xen_intr_establish(evtchn_port_t, xen_intr_handle_t *, void (*)(void *),
void *, char *);
int xen_intr_disestablish(xen_intr_handle_t);
void xen_intr_enable(void);
+void xen_intr_mask(xen_intr_handle_t);
+int xen_intr_unmask(xen_intr_handle_t);
/*
* XenStore