Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef _XOR_H
0003 #define _XOR_H
0004 
0005 #define MAX_XOR_BLOCKS 4
0006 
0007 extern void xor_blocks(unsigned int count, unsigned int bytes,
0008     void *dest, void **srcs);
0009 
0010 struct xor_block_template {
0011         struct xor_block_template *next;
0012         const char *name;
0013         int speed;
0014     void (*do_2)(unsigned long, unsigned long * __restrict,
0015              const unsigned long * __restrict);
0016     void (*do_3)(unsigned long, unsigned long * __restrict,
0017              const unsigned long * __restrict,
0018              const unsigned long * __restrict);
0019     void (*do_4)(unsigned long, unsigned long * __restrict,
0020              const unsigned long * __restrict,
0021              const unsigned long * __restrict,
0022              const unsigned long * __restrict);
0023     void (*do_5)(unsigned long, unsigned long * __restrict,
0024              const unsigned long * __restrict,
0025              const unsigned long * __restrict,
0026              const unsigned long * __restrict,
0027              const unsigned long * __restrict);
0028 };
0029 
0030 #endif