Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0e89640

Browse files
broonieherbertx
authored andcommitted
crypto: arm64 - Use modern annotations for assembly functions
In an effort to clarify and simplify the annotation of assembly functionsin the kernel new macros have been introduced. These replace ENTRY andENDPROC and also add a new annotation for static functions which previouslyhad no ENTRY equivalent. Update the annotations in the crypto code to thenew macros.There are a small number of files imported from OpenSSL where the assemblyis generated using perl programs, these are not currently annotated at alland have not been modified.Signed-off-by: Mark Brown <broonie@kernel.org>Acked-by: Ard Biesheuvel <ardb@kernel.org>Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
1 parent3907ccf commit0e89640

17 files changed

+84
-84
lines changed

‎arch/arm64/crypto/aes-ce-ccm-core.S‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* void ce_aes_ccm_auth_data(u8 mac[], u8 constin[], u32 abytes,
1616
* u32*macp, u8 const rk[], u32 rounds);
1717
*/
18-
ENTRY(ce_aes_ccm_auth_data)
18+
SYM_FUNC_START(ce_aes_ccm_auth_data)
1919
ldrw8,[x3]/* leftover from prev round?*/
2020
ld1{v0.16b},[x0]/* load mac*/
2121
cbzw8, 1f
@@ -81,13 +81,13 @@ ENTRY(ce_aes_ccm_auth_data)
8181
st1{v0.16b},[x0]
8282
10:strw8,[x3]
8383
ret
84-
ENDPROC(ce_aes_ccm_auth_data)
84+
SYM_FUNC_END(ce_aes_ccm_auth_data)
8585

8686
/*
8787
* void ce_aes_ccm_final(u8 mac[], u8 const ctr[], u8 const rk[],
8888
* u32 rounds);
8989
*/
90-
ENTRY(ce_aes_ccm_final)
90+
SYM_FUNC_START(ce_aes_ccm_final)
9191
ld1{v3.4s},[x2], #16/* load first round key*/
9292
ld1{v0.16b},[x0]/* load mac*/
9393
cmpw3, #12/* which key size?*/
@@ -121,7 +121,7 @@ ENTRY(ce_aes_ccm_final)
121121
eorv0.16b, v0.16b, v1.16b/* en-/decrypt the mac*/
122122
st1{v0.16b},[x0]/* store result*/
123123
ret
124-
ENDPROC(ce_aes_ccm_final)
124+
SYM_FUNC_END(ce_aes_ccm_final)
125125

126126
.macroaes_ccm_do_crypt,enc
127127
ldrx8,[x6, #8]/* load lower ctr*/
@@ -212,10 +212,10 @@ CPU_LE(revx8, x8)
212212
* u8 const rk[], u32 rounds, u8 mac[],
213213
* u8 ctr[]);
214214
*/
215-
ENTRY(ce_aes_ccm_encrypt)
215+
SYM_FUNC_START(ce_aes_ccm_encrypt)
216216
aes_ccm_do_crypt1
217-
ENDPROC(ce_aes_ccm_encrypt)
217+
SYM_FUNC_END(ce_aes_ccm_encrypt)
218218

219-
ENTRY(ce_aes_ccm_decrypt)
219+
SYM_FUNC_START(ce_aes_ccm_decrypt)
220220
aes_ccm_do_crypt0
221-
ENDPROC(ce_aes_ccm_decrypt)
221+
SYM_FUNC_END(ce_aes_ccm_decrypt)

‎arch/arm64/crypto/aes-ce-core.S‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
.archarmv8-a+crypto
1010

11-
ENTRY(__aes_ce_encrypt)
11+
SYM_FUNC_START(__aes_ce_encrypt)
1212
subw3, w3, #2
1313
ld1{v0.16b},[x2]
1414
ld1{v1.4s},[x0], #16
@@ -34,9 +34,9 @@ ENTRY(__aes_ce_encrypt)
3434
eorv0.16b, v0.16b, v3.16b
3535
st1{v0.16b},[x1]
3636
ret
37-
ENDPROC(__aes_ce_encrypt)
37+
SYM_FUNC_END(__aes_ce_encrypt)
3838

39-
ENTRY(__aes_ce_decrypt)
39+
SYM_FUNC_START(__aes_ce_decrypt)
4040
subw3, w3, #2
4141
ld1{v0.16b},[x2]
4242
ld1{v1.4s},[x0], #16
@@ -62,23 +62,23 @@ ENTRY(__aes_ce_decrypt)
6262
eorv0.16b, v0.16b, v3.16b
6363
st1{v0.16b},[x1]
6464
ret
65-
ENDPROC(__aes_ce_decrypt)
65+
SYM_FUNC_END(__aes_ce_decrypt)
6666

6767
/*
6868
* __aes_ce_sub()- use the aese instruction to perform the AES sbox
6969
* substitution oneach bytein'input'
7070
*/
71-
ENTRY(__aes_ce_sub)
71+
SYM_FUNC_START(__aes_ce_sub)
7272
dupv1.4s, w0
7373
moviv0.16b, #0
7474
aesev0.16b, v1.16b
7575
umovw0, v0.s[0]
7676
ret
77-
ENDPROC(__aes_ce_sub)
77+
SYM_FUNC_END(__aes_ce_sub)
7878

79-
ENTRY(__aes_ce_invert)
79+
SYM_FUNC_START(__aes_ce_invert)
8080
ld1{v0.4s},[x1]
8181
aesimcv1.16b, v0.16b
8282
st1{v1.4s},[x0]
8383
ret
84-
ENDPROC(__aes_ce_invert)
84+
SYM_FUNC_END(__aes_ce_invert)

‎arch/arm64/crypto/aes-ce.S‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
#include <linux/linkage.h>
1010
#include <asm/assembler.h>
1111

12-
#define AES_ENTRY(func)ENTRY(ce_ ## func)
13-
#define AES_ENDPROC(func)ENDPROC(ce_ ## func)
12+
#define AES_ENTRY(func)SYM_FUNC_START(ce_ ## func)
13+
#define AES_ENDPROC(func)SYM_FUNC_END(ce_ ## func)
1414

1515
.archarmv8-a+crypto
1616

‎arch/arm64/crypto/aes-cipher-core.S‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,11 @@ CPU_BE(revw7, w7)
122122
ret
123123
.endm
124124

125-
ENTRY(__aes_arm64_encrypt)
125+
SYM_FUNC_START(__aes_arm64_encrypt)
126126
do_cryptfround, crypto_ft_tab, crypto_ft_tab +1,2
127-
ENDPROC(__aes_arm64_encrypt)
127+
SYM_FUNC_END(__aes_arm64_encrypt)
128128

129129
.align5
130-
ENTRY(__aes_arm64_decrypt)
130+
SYM_FUNC_START(__aes_arm64_decrypt)
131131
do_cryptiround, crypto_it_tab, crypto_aes_inv_sbox,0
132-
ENDPROC(__aes_arm64_decrypt)
132+
SYM_FUNC_END(__aes_arm64_decrypt)

‎arch/arm64/crypto/aes-modes.S‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,26 @@
2222
#define ST5(x...) x
2323
#endif
2424

25-
aes_encrypt_block4x:
25+
SYM_FUNC_START_LOCAL(aes_encrypt_block4x)
2626
encrypt_block4xv0, v1, v2, v3, w3, x2, x8, w7
2727
ret
28-
ENDPROC(aes_encrypt_block4x)
28+
SYM_FUNC_END(aes_encrypt_block4x)
2929

30-
aes_decrypt_block4x:
30+
SYM_FUNC_START_LOCAL(aes_decrypt_block4x)
3131
decrypt_block4xv0, v1, v2, v3, w3, x2, x8, w7
3232
ret
33-
ENDPROC(aes_decrypt_block4x)
33+
SYM_FUNC_END(aes_decrypt_block4x)
3434

3535
#if MAX_STRIDE ==5
36-
aes_encrypt_block5x:
36+
SYM_FUNC_START_LOCAL(aes_encrypt_block5x)
3737
encrypt_block5xv0, v1, v2, v3, v4, w3, x2, x8, w7
3838
ret
39-
ENDPROC(aes_encrypt_block5x)
39+
SYM_FUNC_END(aes_encrypt_block5x)
4040

41-
aes_decrypt_block5x:
41+
SYM_FUNC_START_LOCAL(aes_decrypt_block5x)
4242
decrypt_block5xv0, v1, v2, v3, v4, w3, x2, x8, w7
4343
ret
44-
ENDPROC(aes_decrypt_block5x)
44+
SYM_FUNC_END(aes_decrypt_block5x)
4545
#endif
4646

4747
/*

‎arch/arm64/crypto/aes-neon.S‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
#include <linux/linkage.h>
99
#include <asm/assembler.h>
1010

11-
#define AES_ENTRY(func)ENTRY(neon_ ## func)
12-
#define AES_ENDPROC(func)ENDPROC(neon_ ## func)
11+
#define AES_ENTRY(func)SYM_FUNC_START(neon_ ## func)
12+
#define AES_ENDPROC(func)SYM_FUNC_END(neon_ ## func)
1313

1414
xtsmask.reqv7
1515
cbciv.reqv7

‎arch/arm64/crypto/aes-neonbs-core.S‎

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ ISRM0:.octa0x0306090c00070a0d01040b0e0205080f
380380
/*
381381
* void aesbs_convert_key(u8out[], u32 const rk[],int rounds)
382382
*/
383-
ENTRY(aesbs_convert_key)
383+
SYM_FUNC_START(aesbs_convert_key)
384384
ld1{v7.4s},[x1], #16// load round0 key
385385
ld1{v17.4s},[x1], #16// load round1 key
386386

@@ -425,10 +425,10 @@ ENTRY(aesbs_convert_key)
425425
eorv17.16b, v17.16b, v7.16b
426426
strq17,[x0]
427427
ret
428-
ENDPROC(aesbs_convert_key)
428+
SYM_FUNC_END(aesbs_convert_key)
429429

430430
.align4
431-
aesbs_encrypt8:
431+
SYM_FUNC_START_LOCAL(aesbs_encrypt8)
432432
ldrq9,[bskey], #16// round0 key
433433
ldrq8, M0SR
434434
ldrq24, SR
@@ -488,10 +488,10 @@ aesbs_encrypt8:
488488
eorv2.16b, v2.16b, v12.16b
489489
eorv5.16b, v5.16b, v12.16b
490490
ret
491-
ENDPROC(aesbs_encrypt8)
491+
SYM_FUNC_END(aesbs_encrypt8)
492492

493493
.align4
494-
aesbs_decrypt8:
494+
SYM_FUNC_START_LOCAL(aesbs_decrypt8)
495495
lslx9, rounds, #7
496496
addbskey, bskey, x9
497497

@@ -553,7 +553,7 @@ aesbs_decrypt8:
553553
eorv3.16b, v3.16b, v12.16b
554554
eorv5.16b, v5.16b, v12.16b
555555
ret
556-
ENDPROC(aesbs_decrypt8)
556+
SYM_FUNC_END(aesbs_decrypt8)
557557

558558
/*
559559
* aesbs_ecb_encrypt(u8out[], u8 constin[], u8 const rk[],int rounds,
@@ -621,21 +621,21 @@ ENDPROC(aesbs_decrypt8)
621621
.endm
622622

623623
.align4
624-
ENTRY(aesbs_ecb_encrypt)
624+
SYM_FUNC_START(aesbs_ecb_encrypt)
625625
__ecb_cryptaesbs_encrypt8, v0, v1, v4, v6, v3, v7, v2, v5
626-
ENDPROC(aesbs_ecb_encrypt)
626+
SYM_FUNC_END(aesbs_ecb_encrypt)
627627

628628
.align4
629-
ENTRY(aesbs_ecb_decrypt)
629+
SYM_FUNC_START(aesbs_ecb_decrypt)
630630
__ecb_cryptaesbs_decrypt8, v0, v1, v6, v4, v2, v7, v3, v5
631-
ENDPROC(aesbs_ecb_decrypt)
631+
SYM_FUNC_END(aesbs_ecb_decrypt)
632632

633633
/*
634634
* aesbs_cbc_decrypt(u8out[], u8 constin[], u8 const rk[],int rounds,
635635
*int blocks, u8 iv[])
636636
*/
637637
.align4
638-
ENTRY(aesbs_cbc_decrypt)
638+
SYM_FUNC_START(aesbs_cbc_decrypt)
639639
frame_push6
640640

641641
movx19, x0
@@ -720,7 +720,7 @@ ENTRY(aesbs_cbc_decrypt)
720720

721721
2:frame_pop
722722
ret
723-
ENDPROC(aesbs_cbc_decrypt)
723+
SYM_FUNC_END(aesbs_cbc_decrypt)
724724

725725
.macronext_tweak,out,in, const, tmp
726726
sshr\tmp\().2d, \in\().2d, #63
@@ -736,7 +736,7 @@ ENDPROC(aesbs_cbc_decrypt)
736736
* aesbs_xts_decrypt(u8out[], u8 constin[], u8 const rk[],int rounds,
737737
*int blocks, u8 iv[])
738738
*/
739-
__xts_crypt8:
739+
SYM_FUNC_START_LOCAL(__xts_crypt8)
740740
movx6, #1
741741
lslx6, x6, x23
742742
subsw23, w23, #8
@@ -789,7 +789,7 @@ __xts_crypt8:
789789
0:movbskey, x21
790790
movrounds, x22
791791
brx7
792-
ENDPROC(__xts_crypt8)
792+
SYM_FUNC_END(__xts_crypt8)
793793

794794
.macro__xts_crypt, do8, o0, o1, o2, o3, o4, o5, o6, o7
795795
frame_push6,64
@@ -854,13 +854,13 @@ ENDPROC(__xts_crypt8)
854854
ret
855855
.endm
856856

857-
ENTRY(aesbs_xts_encrypt)
857+
SYM_FUNC_START(aesbs_xts_encrypt)
858858
__xts_cryptaesbs_encrypt8, v0, v1, v4, v6, v3, v7, v2, v5
859-
ENDPROC(aesbs_xts_encrypt)
859+
SYM_FUNC_END(aesbs_xts_encrypt)
860860

861-
ENTRY(aesbs_xts_decrypt)
861+
SYM_FUNC_START(aesbs_xts_decrypt)
862862
__xts_cryptaesbs_decrypt8, v0, v1, v6, v4, v2, v7, v3, v5
863-
ENDPROC(aesbs_xts_decrypt)
863+
SYM_FUNC_END(aesbs_xts_decrypt)
864864

865865
.macronext_ctr, v
866866
mov\v\().d[1], x8
@@ -874,7 +874,7 @@ ENDPROC(aesbs_xts_decrypt)
874874
* aesbs_ctr_encrypt(u8out[], u8 constin[], u8 const rk[],
875875
*int rounds,int blocks, u8 iv[], u8 final[])
876876
*/
877-
ENTRY(aesbs_ctr_encrypt)
877+
SYM_FUNC_START(aesbs_ctr_encrypt)
878878
frame_push8
879879

880880
movx19, x0
@@ -1002,4 +1002,4 @@ CPU_LE(revx8, x8)
10021002
7:cbzx25, 8b
10031003
st1{v5.16b},[x25]
10041004
b8b
1005-
ENDPROC(aesbs_ctr_encrypt)
1005+
SYM_FUNC_END(aesbs_ctr_encrypt)

‎arch/arm64/crypto/chacha-neon-core.S‎

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
*
3737
* Clobbers: w3, x10, v4, v12
3838
*/
39-
chacha_permute:
39+
SYM_FUNC_START_LOCAL(chacha_permute)
4040

4141
adr_lx10, ROT8
4242
ld1{v12.4s},[x10]
@@ -104,9 +104,9 @@ chacha_permute:
104104
b.ne.Ldoubleround
105105

106106
ret
107-
ENDPROC(chacha_permute)
107+
SYM_FUNC_END(chacha_permute)
108108

109-
ENTRY(chacha_block_xor_neon)
109+
SYM_FUNC_START(chacha_block_xor_neon)
110110
// x0: Input state matrix, s
111111
// x1:1 data block output, o
112112
// x2:1 data block input, i
@@ -143,9 +143,9 @@ ENTRY(chacha_block_xor_neon)
143143

144144
ldpx29, x30,[sp], #16
145145
ret
146-
ENDPROC(chacha_block_xor_neon)
146+
SYM_FUNC_END(chacha_block_xor_neon)
147147

148-
ENTRY(hchacha_block_neon)
148+
SYM_FUNC_START(hchacha_block_neon)
149149
// x0: Input state matrix, s
150150
// x1: output (832-bit words)
151151
// w2: nrounds
@@ -163,7 +163,7 @@ ENTRY(hchacha_block_neon)
163163

164164
ldpx29, x30,[sp], #16
165165
ret
166-
ENDPROC(hchacha_block_neon)
166+
SYM_FUNC_END(hchacha_block_neon)
167167

168168
a0.reqw12
169169
a1.reqw13
@@ -183,7 +183,7 @@ ENDPROC(hchacha_block_neon)
183183
a15.reqw28
184184

185185
.align6
186-
ENTRY(chacha_4block_xor_neon)
186+
SYM_FUNC_START(chacha_4block_xor_neon)
187187
frame_push10
188188

189189
// x0: Input state matrix, s
@@ -845,7 +845,7 @@ CPU_BE( reva15, a15)
845845
eorv31.16b, v31.16b, v3.16b
846846
st1{v28.16b-v31.16b},[x1]
847847
b.Lout
848-
ENDPROC(chacha_4block_xor_neon)
848+
SYM_FUNC_END(chacha_4block_xor_neon)
849849

850850
.section".rodata","a", %progbits
851851
.alignL1_CACHE_SHIFT

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp