1 /*
2  * include/asm-ia64/xor.h
3  *
4  * Optimized RAID-5 checksumming functions for IA-64.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2, or (at your option)
9  * any later version.
10  *
11  * You should have received a copy of the GNU General Public License
12  * (for example /usr/src/linux/COPYING); if not, write to the Free
13  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
14  */
15 
16 #include <asm-generic/xor.h>
17 
18 extern void xor_ia64_2(unsigned long, unsigned long *, unsigned long *);
19 extern void xor_ia64_3(unsigned long, unsigned long *, unsigned long *,
20 		       unsigned long *);
21 extern void xor_ia64_4(unsigned long, unsigned long *, unsigned long *,
22 		       unsigned long *, unsigned long *);
23 extern void xor_ia64_5(unsigned long, unsigned long *, unsigned long *,
24 		       unsigned long *, unsigned long *, unsigned long *);
25 
26 static struct xor_block_template xor_block_ia64 = {
27 	name: "ia64",
28 	do_2: xor_ia64_2,
29 	do_3: xor_ia64_3,
30 	do_4: xor_ia64_4,
31 	do_5: xor_ia64_5,
32 };
33 
34 #define XOR_TRY_TEMPLATES     do { \
35 		xor_speed(&xor_block_8regs); \
36 		xor_speed(&xor_block_8regs_p); \
37 		xor_speed(&xor_block_32regs); \
38 		xor_speed(&xor_block_32regs_p); \
39 		xor_speed(&xor_block_ia64); \
40 	} while(0)
41 
42