win-pvdrivers

annotate common/include/public/nmi.h @ 62:edd4a2ad5b44

Removed old inf files
author James Harper <james.harper@bendigoit.com.au>
date Wed Dec 19 10:22:50 2007 +1100 (2007-12-19)
parents 5712dede5a1b
children b474e898b409
rev   line source
andy@12 1 /******************************************************************************
andy@12 2 * nmi.h
andy@12 3 *
andy@12 4 * NMI callback registration and reason codes.
andy@12 5 *
andy@12 6 * Permission is hereby granted, free of charge, to any person obtaining a copy
andy@12 7 * of this software and associated documentation files (the "Software"), to
andy@12 8 * deal in the Software without restriction, including without limitation the
andy@12 9 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
andy@12 10 * sell copies of the Software, and to permit persons to whom the Software is
andy@12 11 * furnished to do so, subject to the following conditions:
andy@12 12 *
andy@12 13 * The above copyright notice and this permission notice shall be included in
andy@12 14 * all copies or substantial portions of the Software.
andy@12 15 *
andy@12 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
andy@12 17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
andy@12 18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
andy@12 19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
andy@12 20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
andy@12 21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
andy@12 22 * DEALINGS IN THE SOFTWARE.
andy@12 23 *
andy@12 24 * Copyright (c) 2005, Keir Fraser <keir@xensource.com>
andy@12 25 */
andy@12 26
andy@12 27 #ifndef __XEN_PUBLIC_NMI_H__
andy@12 28 #define __XEN_PUBLIC_NMI_H__
andy@12 29
andy@12 30 /*
andy@12 31 * NMI reason codes:
andy@12 32 * Currently these are x86-specific, stored in arch_shared_info.nmi_reason.
andy@12 33 */
andy@12 34 /* I/O-check error reported via ISA port 0x61, bit 6. */
andy@12 35 #define _XEN_NMIREASON_io_error 0
andy@12 36 #define XEN_NMIREASON_io_error (1UL << _XEN_NMIREASON_io_error)
andy@12 37 /* Parity error reported via ISA port 0x61, bit 7. */
andy@12 38 #define _XEN_NMIREASON_parity_error 1
andy@12 39 #define XEN_NMIREASON_parity_error (1UL << _XEN_NMIREASON_parity_error)
andy@12 40 /* Unknown hardware-generated NMI. */
andy@12 41 #define _XEN_NMIREASON_unknown 2
andy@12 42 #define XEN_NMIREASON_unknown (1UL << _XEN_NMIREASON_unknown)
andy@12 43
andy@12 44 /*
andy@12 45 * long nmi_op(unsigned int cmd, void *arg)
andy@12 46 * NB. All ops return zero on success, else a negative error code.
andy@12 47 */
andy@12 48
andy@12 49 /*
andy@12 50 * Register NMI callback for this (calling) VCPU. Currently this only makes
andy@12 51 * sense for domain 0, vcpu 0. All other callers will be returned EINVAL.
andy@12 52 * arg == pointer to xennmi_callback structure.
andy@12 53 */
andy@12 54 #define XENNMI_register_callback 0
andy@12 55 struct xennmi_callback {
andy@12 56 unsigned long handler_address;
andy@12 57 unsigned long pad;
andy@12 58 };
andy@12 59 typedef struct xennmi_callback xennmi_callback_t;
andy@12 60 DEFINE_XEN_GUEST_HANDLE(xennmi_callback_t);
andy@12 61
andy@12 62 /*
andy@12 63 * Deregister NMI callback for this (calling) VCPU.
andy@12 64 * arg == NULL.
andy@12 65 */
andy@12 66 #define XENNMI_unregister_callback 1
andy@12 67
andy@12 68 #endif /* __XEN_PUBLIC_NMI_H__ */
andy@12 69
andy@12 70 /*
andy@12 71 * Local variables:
andy@12 72 * mode: C
andy@12 73 * c-set-style: "BSD"
andy@12 74 * c-basic-offset: 4
andy@12 75 * tab-width: 4
andy@12 76 * indent-tabs-mode: nil
andy@12 77 * End:
andy@12 78 */