Changeset View
Changeset View
Standalone View
Standalone View
sys/x86/include/xen/xen_intr_x86.h
- This file was added.
/****************************************************************************** | |||||
* xen_intr_x86.h | |||||
* | |||||
* APIs for managing Xen event channel, virtual IRQ, and physical IRQ | |||||
* notifications. | |||||
* | |||||
* Copyright (c) 2004, K A Fraser | |||||
* Copyright (c) 2012, Spectra Logic Corporation | |||||
* | |||||
* This file may be distributed separately from the Linux kernel, or | |||||
* incorporated into other software packages, subject to the following license: | |||||
* | |||||
* Permission is hereby granted, free of charge, to any person obtaining a copy | |||||
* of this source file (the "Software"), to deal in the Software without | |||||
* restriction, including without limitation the rights to use, copy, modify, | |||||
* merge, publish, distribute, sublicense, and/or sell copies of the Software, | |||||
* and to permit persons to whom the Software is furnished to do so, subject to | |||||
* the following conditions: | |||||
* | |||||
* The above copyright notice and this permission notice shall be included in | |||||
* all copies or substantial portions of the Software. | |||||
* | |||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | |||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | |||||
* IN THE SOFTWARE. | |||||
* | |||||
* $FreeBSD$ | |||||
*/ | |||||
#ifndef _XEN_INTR_X86_H_ | |||||
#define _XEN_INTR_X86_H_ | |||||
#include <xen/interface/event_channel.h> | |||||
/** | |||||
* Allocate a local event channel port for servicing interprocessor | |||||
* interupts and, if successful, associate the port with the specified | |||||
* interrupt handler. | |||||
* | |||||
* \param cpu The cpu receiving the IPI. | |||||
* \param filter The interrupt filter servicing this IPI. | |||||
* \param irqflags Interrupt handler flags. See sys/bus.h. | |||||
* \param handlep Pointer to an opaque handle used to manage this | |||||
* registration. | |||||
* | |||||
* \returns 0 on success, otherwise an errno. | |||||
*/ | |||||
int xen_intr_alloc_and_bind_ipi(u_int cpu, | |||||
driver_filter_t filter, enum intr_type irqflags, | |||||
xen_intr_handle_t *handlep); | |||||
#endif /* _XEN_INTR_X86_H_ */ |