diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-07-04 16:27:44 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-07-04 16:27:44 +0100 |
commit | 355b0469a8d017b80d9ce1078c90fe628c8b3bbe (patch) | |
tree | 9a24bfe6fe9a73ea9635cd06ed0880f63a56720a /xen/include/asm-x86/traps.h | |
parent | b12217e1416a2f4ebabfa78b5d0a578d0d879d04 (diff) | |
download | xen-355b0469a8d017b80d9ce1078c90fe628c8b3bbe.tar.gz xen-355b0469a8d017b80d9ce1078c90fe628c8b3bbe.tar.bz2 xen-355b0469a8d017b80d9ce1078c90fe628c8b3bbe.zip |
x86: MCA support.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Diffstat (limited to 'xen/include/asm-x86/traps.h')
-rw-r--r-- | xen/include/asm-x86/traps.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/xen/include/asm-x86/traps.h b/xen/include/asm-x86/traps.h new file mode 100644 index 0000000000..2d055301f2 --- /dev/null +++ b/xen/include/asm-x86/traps.h @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2007, 2008 Advanced Micro Devices, Inc. + * Author: Christoph Egger <Christoph.Egger@amd.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef ASM_TRAP_H +#define ASM_TRAP_H + +struct softirq_trap { + struct domain *domain; /* domain to inject trap */ + struct vcpu *vcpu; /* vcpu to inject trap */ + int processor; /* physical cpu to inject trap */ +}; + +struct cpu_user_regs; + +extern void (*machine_check_vector)(struct cpu_user_regs *regs, long error_code); + +/** + * guest_has_trap_callback + * + * returns true (non-zero) if guest registered a trap handler + */ +extern int guest_has_trap_callback(struct domain *d, uint16_t vcpuid, + unsigned int trap_nr); + +/** + * send_guest_trap + * + * delivers trap to guest analogous to send_guest_global_virq + * return 0 on successful delivery + */ +extern int send_guest_trap(struct domain *d, uint16_t vcpuid, + unsigned int trap_nr); + +#endif /* ASM_TRAP_H */ |