aboutsummaryrefslogtreecommitdiffstats
path: root/xen/common/preempt.c
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2013-01-14 13:55:45 +0000
committerKeir Fraser <keir@xen.org>2013-01-14 13:55:45 +0000
commit143c33f1bcc93392beea4c045dd19917bd81888f (patch)
treea2f9e6dc7aa16192ac00da84eff6beaf392b2055 /xen/common/preempt.c
parentb07423c7cec88c19a63d7ed2c676b365af5d18c2 (diff)
downloadxen-143c33f1bcc93392beea4c045dd19917bd81888f.tar.gz
xen-143c33f1bcc93392beea4c045dd19917bd81888f.tar.bz2
xen-143c33f1bcc93392beea4c045dd19917bd81888f.zip
x86: Assert !in_atomic() before exiting to guest context.
Signed-off-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/common/preempt.c')
-rw-r--r--xen/common/preempt.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/xen/common/preempt.c b/xen/common/preempt.c
index a02eb6d28d..38f73b023e 100644
--- a/xen/common/preempt.c
+++ b/xen/common/preempt.c
@@ -30,3 +30,9 @@ bool_t in_atomic(void)
{
return preempt_count() || in_irq() || !local_irq_is_enabled();
}
+
+/* asm helper */
+void bug_if_in_atomic(void)
+{
+ BUG_ON(in_atomic());
+}