1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|---|
2 | #ifndef _XOR_H |
3 | #define _XOR_H |
4 | |
5 | #define MAX_XOR_BLOCKS 4 |
6 | |
7 | extern void xor_blocks(unsigned int count, unsigned int bytes, |
8 | void *dest, void **srcs); |
9 | |
10 | struct xor_block_template { |
11 | struct xor_block_template *next; |
12 | const char *name; |
13 | int speed; |
14 | void (*do_2)(unsigned long, unsigned long * __restrict, |
15 | const unsigned long * __restrict); |
16 | void (*do_3)(unsigned long, unsigned long * __restrict, |
17 | const unsigned long * __restrict, |
18 | const unsigned long * __restrict); |
19 | void (*do_4)(unsigned long, unsigned long * __restrict, |
20 | const unsigned long * __restrict, |
21 | const unsigned long * __restrict, |
22 | const unsigned long * __restrict); |
23 | void (*do_5)(unsigned long, unsigned long * __restrict, |
24 | const unsigned long * __restrict, |
25 | const unsigned long * __restrict, |
26 | const unsigned long * __restrict, |
27 | const unsigned long * __restrict); |
28 | }; |
29 | |
30 | #endif |
31 |