[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 2/3] xen/x86: Use real assert frames for ASSERT_INTERRUPTS_{EN, DIS}ABLED
Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CC: Keir Fraser <keir@xxxxxxx> CC: Jan Beulich <JBeulich@xxxxxxxx> --- xen/include/asm-x86/asm_defns.h | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/xen/include/asm-x86/asm_defns.h b/xen/include/asm-x86/asm_defns.h index 1674c7c..e8a678e 100644 --- a/xen/include/asm-x86/asm_defns.h +++ b/xen/include/asm-x86/asm_defns.h @@ -6,6 +6,7 @@ /* NB. Auto-generated from arch/.../asm-offsets.c */ #include <asm/asm-offsets.h> #endif +#include <asm/bug.h> #include <asm/processor.h> #include <asm/percpu.h> #include <xen/stringify.h> @@ -26,18 +27,24 @@ #endif #ifndef NDEBUG -#define ASSERT_INTERRUPT_STATUS(x) \ - pushf; \ - testb $X86_EFLAGS_IF>>8,1(%rsp); \ - j##x 1f; \ - ud2a; \ -1: addq $8,%rsp; +#define ASSERT_INTERRUPTS_ENABLED \ + pushf; \ + testb $X86_EFLAGS_IF>>8,1(%rsp); \ + jnz 1f; \ + ASSERT_FAILED("INTERRUPTS ENABLED"); \ +1: addq $8,%rsp; + +#define ASSERT_INTERRUPTS_DISABLED \ + pushf; \ + testb $X86_EFLAGS_IF>>8,1(%rsp); \ + jz 1f; \ + ASSERT_FAILED("INTERRUPTS DISABLED"); \ +1: addq $8,%rsp; #else -#define ASSERT_INTERRUPT_STATUS(x) +#define ASSERT_INTERRUPTS_ENABLED +#define ASSERT_INTERRUPTS_DISABLED #endif -#define ASSERT_INTERRUPTS_ENABLED ASSERT_INTERRUPT_STATUS(nz) -#define ASSERT_INTERRUPTS_DISABLED ASSERT_INTERRUPT_STATUS(z) /* * This flag is set in an exception frame when registers R12-R15 did not get -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |