Merge branch 'kvm-updates/2.6.29' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[linux-2.6] / arch / x86 / include / asm / uv / uv_irq.h
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * SGI UV IRQ definitions
7  *
8  * Copyright (C) 2008 Silicon Graphics, Inc. All rights reserved.
9  */
10
11 #ifndef _ASM_X86_UV_UV_IRQ_H
12 #define _ASM_X86_UV_UV_IRQ_H
13
14 /* If a generic version of this structure gets defined, eliminate this one. */
15 struct uv_IO_APIC_route_entry {
16         __u64   vector          :  8,
17                 delivery_mode   :  3,
18                 dest_mode       :  1,
19                 delivery_status :  1,
20                 polarity        :  1,
21                 __reserved_1    :  1,
22                 trigger         :  1,
23                 mask            :  1,
24                 __reserved_2    : 15,
25                 dest            : 32;
26 };
27
28 extern struct irq_chip uv_irq_chip;
29
30 extern int arch_enable_uv_irq(char *, unsigned int, int, int, unsigned long);
31 extern void arch_disable_uv_irq(int, unsigned long);
32
33 extern int uv_setup_irq(char *, int, int, unsigned long);
34 extern void uv_teardown_irq(unsigned int, int, unsigned long);
35
36 #endif /* _ASM_X86_UV_UV_IRQ_H */