Lines Matching +full:8 +full:- +full:n +full:- +full:1
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /* -*- linux-c -*- ------------------------------------------------------- *
4 * Copyright 2002-2007 H. Peter Anvin - All Rights Reserved
6 * ----------------------------------------------------------------------- */
11 * Make RAID-6 tables. This is a host user space program to be run at
26 if (b & 1) in gfmul()
28 a = (a << 1) ^ (a & 0x80 ? 0x1d : 0); in gfmul()
29 b >>= 1; in gfmul()
37 uint8_t v = 1; in gfpow()
44 if (b & 1) in gfpow()
47 b >>= 1; in gfpow()
59 printf("#ifdef __KERNEL__\n"); in main()
60 printf("#include <linux/export.h>\n"); in main()
61 printf("#endif\n"); in main()
62 printf("#include <linux/raid/pq.h>\n"); in main()
65 printf("\nconst u8 __attribute__((aligned(256)))\n" in main()
66 "raid6_gfmul[256][256] =\n" in main()
67 "{\n"); in main()
69 printf("\t{\n"); in main()
70 for (j = 0; j < 256; j += 8) { in main()
72 for (k = 0; k < 8; k++) in main()
74 (k == 7) ? '\n' : ' '); in main()
76 printf("\t},\n"); in main()
78 printf("};\n"); in main()
79 printf("#ifdef __KERNEL__\n"); in main()
80 printf("EXPORT_SYMBOL(raid6_gfmul);\n"); in main()
81 printf("#endif\n"); in main()
84 printf("\nconst u8 __attribute__((aligned(256)))\n" in main()
85 "raid6_vgfmul[256][32] =\n" in main()
86 "{\n"); in main()
88 printf("\t{\n"); in main()
89 for (j = 0; j < 16; j += 8) { in main()
91 for (k = 0; k < 8; k++) in main()
93 (k == 7) ? '\n' : ' '); in main()
95 for (j = 0; j < 16; j += 8) { in main()
97 for (k = 0; k < 8; k++) in main()
99 (k == 7) ? '\n' : ' '); in main()
101 printf("\t},\n"); in main()
103 printf("};\n"); in main()
104 printf("#ifdef __KERNEL__\n"); in main()
105 printf("EXPORT_SYMBOL(raid6_vgfmul);\n"); in main()
106 printf("#endif\n"); in main()
108 /* Compute power-of-2 table (exponent) */ in main()
109 v = 1; in main()
110 printf("\nconst u8 __attribute__((aligned(256)))\n" in main()
111 "raid6_gfexp[256] =\n" "{\n"); in main()
112 for (i = 0; i < 256; i += 8) { in main()
114 for (j = 0; j < 8; j++) { in main()
116 printf("0x%02x,%c", v, (j == 7) ? '\n' : ' '); in main()
118 if (v == 1) in main()
122 printf("};\n"); in main()
123 printf("#ifdef __KERNEL__\n"); in main()
124 printf("EXPORT_SYMBOL(raid6_gfexp);\n"); in main()
125 printf("#endif\n"); in main()
127 /* Compute log-of-2 table */ in main()
128 printf("\nconst u8 __attribute__((aligned(256)))\n" in main()
129 "raid6_gflog[256] =\n" "{\n"); in main()
130 for (i = 0; i < 256; i += 8) { in main()
132 for (j = 0; j < 8; j++) { in main()
139 printf("0x%02x,%c", v, (j == 7) ? '\n' : ' '); in main()
142 printf("};\n"); in main()
143 printf("#ifdef __KERNEL__\n"); in main()
144 printf("EXPORT_SYMBOL(raid6_gflog);\n"); in main()
145 printf("#endif\n"); in main()
147 /* Compute inverse table x^-1 == x^254 */ in main()
148 printf("\nconst u8 __attribute__((aligned(256)))\n" in main()
149 "raid6_gfinv[256] =\n" "{\n"); in main()
150 for (i = 0; i < 256; i += 8) { in main()
152 for (j = 0; j < 8; j++) { in main()
154 printf("0x%02x,%c", v, (j == 7) ? '\n' : ' '); in main()
157 printf("};\n"); in main()
158 printf("#ifdef __KERNEL__\n"); in main()
159 printf("EXPORT_SYMBOL(raid6_gfinv);\n"); in main()
160 printf("#endif\n"); in main()
162 /* Compute inv(2^x + 1) (exponent-xor-inverse) table */ in main()
163 printf("\nconst u8 __attribute__((aligned(256)))\n" in main()
164 "raid6_gfexi[256] =\n" "{\n"); in main()
165 for (i = 0; i < 256; i += 8) { in main()
167 for (j = 0; j < 8; j++) in main()
168 printf("0x%02x,%c", invtbl[exptbl[i + j] ^ 1], in main()
169 (j == 7) ? '\n' : ' '); in main()
171 printf("};\n"); in main()
172 printf("#ifdef __KERNEL__\n"); in main()
173 printf("EXPORT_SYMBOL(raid6_gfexi);\n"); in main()
174 printf("#endif\n"); in main()