forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 9999e48639b3cecb08ffb37358bcba3b48161b29
kernel/arch/x86/crypto/camellia-aesni-avx2-asm_64.S
....@@ -1,13 +1,8 @@
1
+/* SPDX-License-Identifier: GPL-2.0-or-later */
12 /*
23 * x86_64/AVX2/AES-NI assembler implementation of Camellia
34 *
45 * Copyright © 2013 Jussi Kivilinna <jussi.kivilinna@iki.fi>
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 of the License, or
9
- * (at your option) any later version.
10
- *
116 */
127
138 #include <linux/linkage.h>
....@@ -228,20 +223,20 @@
228223 * larger and would only marginally faster.
229224 */
230225 .align 8
231
-roundsm32_x0_x1_x2_x3_x4_x5_x6_x7_y0_y1_y2_y3_y4_y5_y6_y7_cd:
226
+SYM_FUNC_START_LOCAL(roundsm32_x0_x1_x2_x3_x4_x5_x6_x7_y0_y1_y2_y3_y4_y5_y6_y7_cd)
232227 roundsm32(%ymm0, %ymm1, %ymm2, %ymm3, %ymm4, %ymm5, %ymm6, %ymm7,
233228 %ymm8, %ymm9, %ymm10, %ymm11, %ymm12, %ymm13, %ymm14, %ymm15,
234229 %rcx, (%r9));
235
- ret;
236
-ENDPROC(roundsm32_x0_x1_x2_x3_x4_x5_x6_x7_y0_y1_y2_y3_y4_y5_y6_y7_cd)
230
+ RET;
231
+SYM_FUNC_END(roundsm32_x0_x1_x2_x3_x4_x5_x6_x7_y0_y1_y2_y3_y4_y5_y6_y7_cd)
237232
238233 .align 8
239
-roundsm32_x4_x5_x6_x7_x0_x1_x2_x3_y4_y5_y6_y7_y0_y1_y2_y3_ab:
234
+SYM_FUNC_START_LOCAL(roundsm32_x4_x5_x6_x7_x0_x1_x2_x3_y4_y5_y6_y7_y0_y1_y2_y3_ab)
240235 roundsm32(%ymm4, %ymm5, %ymm6, %ymm7, %ymm0, %ymm1, %ymm2, %ymm3,
241236 %ymm12, %ymm13, %ymm14, %ymm15, %ymm8, %ymm9, %ymm10, %ymm11,
242237 %rax, (%r9));
243
- ret;
244
-ENDPROC(roundsm32_x4_x5_x6_x7_x0_x1_x2_x3_y4_y5_y6_y7_y0_y1_y2_y3_ab)
238
+ RET;
239
+SYM_FUNC_END(roundsm32_x4_x5_x6_x7_x0_x1_x2_x3_y4_y5_y6_y7_y0_y1_y2_y3_ab)
245240
246241 /*
247242 * IN/OUT:
....@@ -765,7 +760,7 @@
765760 .text
766761
767762 .align 8
768
-__camellia_enc_blk32:
763
+SYM_FUNC_START_LOCAL(__camellia_enc_blk32)
769764 /* input:
770765 * %rdi: ctx, CTX
771766 * %rax: temporary storage, 512 bytes
....@@ -830,7 +825,7 @@
830825 %ymm15, (key_table)(CTX, %r8, 8), (%rax), 1 * 32(%rax));
831826
832827 FRAME_END
833
- ret;
828
+ RET;
834829
835830 .align 8
836831 .Lenc_max32:
....@@ -849,10 +844,10 @@
849844 %ymm15, %rax, %rcx, 24);
850845
851846 jmp .Lenc_done;
852
-ENDPROC(__camellia_enc_blk32)
847
+SYM_FUNC_END(__camellia_enc_blk32)
853848
854849 .align 8
855
-__camellia_dec_blk32:
850
+SYM_FUNC_START_LOCAL(__camellia_dec_blk32)
856851 /* input:
857852 * %rdi: ctx, CTX
858853 * %rax: temporary storage, 512 bytes
....@@ -917,7 +912,7 @@
917912 %ymm15, (key_table)(CTX), (%rax), 1 * 32(%rax));
918913
919914 FRAME_END
920
- ret;
915
+ RET;
921916
922917 .align 8
923918 .Ldec_max32:
....@@ -934,9 +929,9 @@
934929 ((key_table + (24) * 8) + 4)(CTX));
935930
936931 jmp .Ldec_max24;
937
-ENDPROC(__camellia_dec_blk32)
932
+SYM_FUNC_END(__camellia_dec_blk32)
938933
939
-ENTRY(camellia_ecb_enc_32way)
934
+SYM_FUNC_START(camellia_ecb_enc_32way)
940935 /* input:
941936 * %rdi: ctx, CTX
942937 * %rsi: dst (32 blocks)
....@@ -962,10 +957,10 @@
962957 vzeroupper;
963958
964959 FRAME_END
965
- ret;
966
-ENDPROC(camellia_ecb_enc_32way)
960
+ RET;
961
+SYM_FUNC_END(camellia_ecb_enc_32way)
967962
968
-ENTRY(camellia_ecb_dec_32way)
963
+SYM_FUNC_START(camellia_ecb_dec_32way)
969964 /* input:
970965 * %rdi: ctx, CTX
971966 * %rsi: dst (32 blocks)
....@@ -996,10 +991,10 @@
996991 vzeroupper;
997992
998993 FRAME_END
999
- ret;
1000
-ENDPROC(camellia_ecb_dec_32way)
994
+ RET;
995
+SYM_FUNC_END(camellia_ecb_dec_32way)
1001996
1002
-ENTRY(camellia_cbc_dec_32way)
997
+SYM_FUNC_START(camellia_cbc_dec_32way)
1003998 /* input:
1004999 * %rdi: ctx, CTX
10051000 * %rsi: dst (32 blocks)
....@@ -1064,8 +1059,8 @@
10641059 vzeroupper;
10651060
10661061 FRAME_END
1067
- ret;
1068
-ENDPROC(camellia_cbc_dec_32way)
1062
+ RET;
1063
+SYM_FUNC_END(camellia_cbc_dec_32way)
10691064
10701065 #define inc_le128(x, minus_one, tmp) \
10711066 vpcmpeqq minus_one, x, tmp; \
....@@ -1081,7 +1076,7 @@
10811076 vpslldq $8, tmp1, tmp1; \
10821077 vpsubq tmp1, x, x;
10831078
1084
-ENTRY(camellia_ctr_32way)
1079
+SYM_FUNC_START(camellia_ctr_32way)
10851080 /* input:
10861081 * %rdi: ctx, CTX
10871082 * %rsi: dst (32 blocks)
....@@ -1204,8 +1199,8 @@
12041199 vzeroupper;
12051200
12061201 FRAME_END
1207
- ret;
1208
-ENDPROC(camellia_ctr_32way)
1202
+ RET;
1203
+SYM_FUNC_END(camellia_ctr_32way)
12091204
12101205 #define gf128mul_x_ble(iv, mask, tmp) \
12111206 vpsrad $31, iv, tmp; \
....@@ -1227,7 +1222,7 @@
12271222 vpxor tmp1, iv, iv;
12281223
12291224 .align 8
1230
-camellia_xts_crypt_32way:
1225
+SYM_FUNC_START_LOCAL(camellia_xts_crypt_32way)
12311226 /* input:
12321227 * %rdi: ctx, CTX
12331228 * %rsi: dst (32 blocks)
....@@ -1344,7 +1339,7 @@
13441339 vpxor 14 * 32(%rax), %ymm15, %ymm14;
13451340 vpxor 15 * 32(%rax), %ymm15, %ymm15;
13461341
1347
- CALL_NOSPEC %r9;
1342
+ CALL_NOSPEC r9;
13481343
13491344 addq $(16 * 32), %rsp;
13501345
....@@ -1371,10 +1366,10 @@
13711366 vzeroupper;
13721367
13731368 FRAME_END
1374
- ret;
1375
-ENDPROC(camellia_xts_crypt_32way)
1369
+ RET;
1370
+SYM_FUNC_END(camellia_xts_crypt_32way)
13761371
1377
-ENTRY(camellia_xts_enc_32way)
1372
+SYM_FUNC_START(camellia_xts_enc_32way)
13781373 /* input:
13791374 * %rdi: ctx, CTX
13801375 * %rsi: dst (32 blocks)
....@@ -1387,9 +1382,9 @@
13871382 leaq __camellia_enc_blk32, %r9;
13881383
13891384 jmp camellia_xts_crypt_32way;
1390
-ENDPROC(camellia_xts_enc_32way)
1385
+SYM_FUNC_END(camellia_xts_enc_32way)
13911386
1392
-ENTRY(camellia_xts_dec_32way)
1387
+SYM_FUNC_START(camellia_xts_dec_32way)
13931388 /* input:
13941389 * %rdi: ctx, CTX
13951390 * %rsi: dst (32 blocks)
....@@ -1405,4 +1400,4 @@
14051400 leaq __camellia_dec_blk32, %r9;
14061401
14071402 jmp camellia_xts_crypt_32way;
1408
-ENDPROC(camellia_xts_dec_32way)
1403
+SYM_FUNC_END(camellia_xts_dec_32way)