18c2ecf20Sopenharmony_ci/*
28c2ecf20Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public
38c2ecf20Sopenharmony_ci * License.  See the file "COPYING" in the main directory of this archive
48c2ecf20Sopenharmony_ci * for more details.
58c2ecf20Sopenharmony_ci *
68c2ecf20Sopenharmony_ci * SGI UV IRQ definitions
78c2ecf20Sopenharmony_ci *
88c2ecf20Sopenharmony_ci * Copyright (C) 2008 Silicon Graphics, Inc. All rights reserved.
98c2ecf20Sopenharmony_ci */
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci#ifndef _ASM_X86_UV_UV_IRQ_H
128c2ecf20Sopenharmony_ci#define _ASM_X86_UV_UV_IRQ_H
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci/* If a generic version of this structure gets defined, eliminate this one. */
158c2ecf20Sopenharmony_cistruct uv_IO_APIC_route_entry {
168c2ecf20Sopenharmony_ci	__u64	vector		:  8,
178c2ecf20Sopenharmony_ci		delivery_mode	:  3,
188c2ecf20Sopenharmony_ci		dest_mode	:  1,
198c2ecf20Sopenharmony_ci		delivery_status	:  1,
208c2ecf20Sopenharmony_ci		polarity	:  1,
218c2ecf20Sopenharmony_ci		__reserved_1	:  1,
228c2ecf20Sopenharmony_ci		trigger		:  1,
238c2ecf20Sopenharmony_ci		mask		:  1,
248c2ecf20Sopenharmony_ci		__reserved_2	: 15,
258c2ecf20Sopenharmony_ci		dest		: 32;
268c2ecf20Sopenharmony_ci};
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_cienum {
298c2ecf20Sopenharmony_ci	UV_AFFINITY_ALL,
308c2ecf20Sopenharmony_ci	UV_AFFINITY_NODE,
318c2ecf20Sopenharmony_ci	UV_AFFINITY_CPU
328c2ecf20Sopenharmony_ci};
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciextern int uv_irq_2_mmr_info(int, unsigned long *, int *);
358c2ecf20Sopenharmony_ciextern int uv_setup_irq(char *, int, int, unsigned long, int);
368c2ecf20Sopenharmony_ciextern void uv_teardown_irq(unsigned int);
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci#endif /* _ASM_X86_UV_UV_IRQ_H */
39