mirror of https://github.com/openssl/openssl.git
				
				
				
			Add AES implementation in generic riscv64 asm
This implementation is based on the four-table approach, along the same lines as the non-constant-time implementation in aes_core.c The implementation is in perlasm. Utility functions are defined to automatically stack/unstack registers as needed for prologues and epilogues. See riscv-elf-psabi-doc at https://github.com/riscv-non-isa/riscv-elf-psabi-doc/ for ABI details. Reviewed-by: Philipp Tomsich <philipp.tomsich@vrull.eu> Signed-off-by: Henry Brausen <henry.brausen@vrull.eu> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/17640)
This commit is contained in:
		
							parent
							
								
									ec26144288
								
							
						
					
					
						commit
						b3504b600c
					
				
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							|  | @ -47,6 +47,9 @@ IF[{- !$disabled{asm} -}] | |||
|   # aes-c64xplus.s implements AES_ctr32_encrypt | ||||
|   $AESDEF_c64xplus=AES_ASM AES_CTR_ASM | ||||
| 
 | ||||
|   $AESASM_riscv64=aes_cbc.c aes-riscv64.s | ||||
|   $AESDEF_riscv64=AES_ASM | ||||
| 
 | ||||
|   # Now that we have defined all the arch specific variables, use the | ||||
|   # appropriate one, and define the appropriate macros | ||||
|   IF[$AESASM_{- $target{asm_arch} -}] | ||||
|  | @ -114,6 +117,8 @@ GENERATE[aes-parisc.s]=asm/aes-parisc.pl | |||
| GENERATE[aes-mips.S]=asm/aes-mips.pl | ||||
| INCLUDE[aes-mips.o]=.. | ||||
| 
 | ||||
| GENERATE[aes-riscv64.s]=asm/aes-riscv64.pl | ||||
| 
 | ||||
| GENERATE[aesv8-armx.S]=asm/aesv8-armx.pl | ||||
| INCLUDE[aesv8-armx.o]=.. | ||||
| GENERATE[vpaes-armv8.S]=asm/vpaes-armv8.pl | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue