1bb898558SAl Viro /* 2bb898558SAl Viro * This file is subject to the terms and conditions of the GNU General Public 3bb898558SAl Viro * License. See the file "COPYING" in the main directory of this archive 4bb898558SAl Viro * for more details. 5bb898558SAl Viro * 6bb898558SAl Viro * SGI UV IRQ definitions 7bb898558SAl Viro * 8bb898558SAl Viro * Copyright (C) 2008 Silicon Graphics, Inc. All rights reserved. 9bb898558SAl Viro */ 10bb898558SAl Viro 1105e4d316SH. Peter Anvin #ifndef _ASM_X86_UV_UV_IRQ_H 1205e4d316SH. Peter Anvin #define _ASM_X86_UV_UV_IRQ_H 13bb898558SAl Viro 14bb898558SAl Viro /* If a generic version of this structure gets defined, eliminate this one. */ 15bb898558SAl Viro struct uv_IO_APIC_route_entry { 16bb898558SAl Viro __u64 vector : 8, 17bb898558SAl Viro delivery_mode : 3, 18bb898558SAl Viro dest_mode : 1, 19bb898558SAl Viro delivery_status : 1, 20bb898558SAl Viro polarity : 1, 21bb898558SAl Viro __reserved_1 : 1, 22bb898558SAl Viro trigger : 1, 23bb898558SAl Viro mask : 1, 24bb898558SAl Viro __reserved_2 : 15, 25bb898558SAl Viro dest : 32; 26bb898558SAl Viro }; 27bb898558SAl Viro 28*6c2c5029SDimitri Sivanich enum { 29*6c2c5029SDimitri Sivanich UV_AFFINITY_ALL, 30*6c2c5029SDimitri Sivanich UV_AFFINITY_NODE, 31*6c2c5029SDimitri Sivanich UV_AFFINITY_CPU 32*6c2c5029SDimitri Sivanich }; 33*6c2c5029SDimitri Sivanich 34*6c2c5029SDimitri Sivanich extern int uv_irq_2_mmr_info(int, unsigned long *, int *); 35*6c2c5029SDimitri Sivanich extern int uv_setup_irq(char *, int, int, unsigned long, int); 36*6c2c5029SDimitri Sivanich extern void uv_teardown_irq(unsigned int); 37bb898558SAl Viro 3805e4d316SH. Peter Anvin #endif /* _ASM_X86_UV_UV_IRQ_H */ 39