diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2010-02-24 10:44:30 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2010-02-24 10:44:30 +0000 |
commit | 5040f46e36bc8b38784f32e4f7ca497274e08324 (patch) | |
tree | 074d301847bff14e11eb42cfeba5da7978274d9a /xen/include/asm-x86/bug.h | |
parent | 078a073a6ccd4f6a66cce154ecaeceaa39c28b78 (diff) | |
download | xen-5040f46e36bc8b38784f32e4f7ca497274e08324.tar.gz xen-5040f46e36bc8b38784f32e4f7ca497274e08324.tar.bz2 xen-5040f46e36bc8b38784f32e4f7ca497274e08324.zip |
x86: Generalise BUGFRAME_dump mechanism to allow polled UART irq to
get proper regs argument.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/include/asm-x86/bug.h')
-rw-r--r-- | xen/include/asm-x86/bug.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/xen/include/asm-x86/bug.h b/xen/include/asm-x86/bug.h index df64549e44..60efca2244 100644 --- a/xen/include/asm-x86/bug.h +++ b/xen/include/asm-x86/bug.h @@ -13,15 +13,16 @@ struct bug_frame { unsigned short id; /* BUGFRAME_??? */ } __attribute__((packed)); -#define BUGFRAME_dump 0 +#define BUGFRAME_run_fn 0 #define BUGFRAME_warn 1 #define BUGFRAME_bug 2 #define BUGFRAME_assert 3 -#define dump_execution_state() \ +#define run_in_exception_handler(fn) \ asm volatile ( \ - "ud2 ; ret $0" \ - : : "i" (BUGFRAME_dump) ) + "ud2 ; ret %0" BUG_STR(1) \ + : : "i" (BUGFRAME_run_fn), \ + "i" (fn) ) #define WARN() \ asm volatile ( \ |