move AES to v0.8 of Kscalar

This commit is contained in:
Romain Dolbeau 2020-12-06 15:52:08 +01:00
parent 3506dbbe10
commit 219844c69c
5 changed files with 48 additions and 48 deletions

View file

@ -369,14 +369,14 @@ class CryptoZknePlugin extends Plugin[VexRiscv] {
RS3_USE -> True,
IS_CryptoZkne -> True
)
def aes32esmi0_KEY = M"0000000----------010-----0101011"
def aes32esmi1_KEY = M"0100000----------010-----0101011"
def aes32esmi2_KEY = M"1000000----------010-----0101011"
def aes32esmi3_KEY = M"1100000----------010-----0101011"
def aes32esi0_KEY = M"0000001----------010-----0101011"
def aes32esi1_KEY = M"0100001----------010-----0101011"
def aes32esi2_KEY = M"1000001----------010-----0101011"
def aes32esi3_KEY = M"1100001----------010-----0101011"
def aes32esmi0_KEY = M"0011011----------000-----0110011"
def aes32esmi1_KEY = M"0111011----------000-----0110011"
def aes32esmi2_KEY = M"1011011----------000-----0110011"
def aes32esmi3_KEY = M"1111011----------000-----0110011"
def aes32esi0_KEY = M"0011001----------000-----0110011"
def aes32esi1_KEY = M"0111001----------000-----0110011"
def aes32esi2_KEY = M"1011001----------000-----0110011"
def aes32esi3_KEY = M"1111001----------000-----0110011"
val decoderService = pipeline.service(classOf[DecoderService])
decoderService.addDefault(IS_CryptoZkne, False)
decoderService.add(List(

View file

@ -46,14 +46,14 @@ asm("#define reg_t6 31\n");
return r; \
}
ASM2MACRO(AES32ESMI0,0x0000202b)
ASM2MACRO(AES32ESMI1,0x4000202b)
ASM2MACRO(AES32ESMI2,0x8000202b)
ASM2MACRO(AES32ESMI3,0xc000202b)
ASM2MACRO(AES32ESI0,0x0200202b)
ASM2MACRO(AES32ESI1,0x4200202b)
ASM2MACRO(AES32ESI2,0x8200202b)
ASM2MACRO(AES32ESI3,0xc200202b)
ASM2MACRO(AES32ESMI0,0x36000033)
ASM2MACRO(AES32ESMI1,0x76000033)
ASM2MACRO(AES32ESMI2,0xb6000033)
ASM2MACRO(AES32ESMI3,0xf6000033)
ASM2MACRO(AES32ESI0,0x32000033)
ASM2MACRO(AES32ESI1,0x72000033)
ASM2MACRO(AES32ESI2,0xb2000033)
ASM2MACRO(AES32ESI3,0xf2000033)
FUN2(aes32esmi0,AES32ESMI0)
FUN2(aes32esmi1,AES32ESMI1)
FUN2(aes32esmi2,AES32ESMI2)

View file

@ -72,14 +72,14 @@ asm("#define reg_t6 31\n");
return r; \
}
ASM2MACRO(AES32ESMI0,0x0000202b)
ASM2MACRO(AES32ESMI1,0x4000202b)
ASM2MACRO(AES32ESMI2,0x8000202b)
ASM2MACRO(AES32ESMI3,0xc000202b)
ASM2MACRO(AES32ESI0,0x0200202b)
ASM2MACRO(AES32ESI1,0x4200202b)
ASM2MACRO(AES32ESI2,0x8200202b)
ASM2MACRO(AES32ESI3,0xc200202b)
ASM2MACRO(AES32ESMI0,0x36000033)
ASM2MACRO(AES32ESMI1,0x76000033)
ASM2MACRO(AES32ESMI2,0xb6000033)
ASM2MACRO(AES32ESMI3,0xf6000033)
ASM2MACRO(AES32ESI0,0x32000033)
ASM2MACRO(AES32ESI1,0x72000033)
ASM2MACRO(AES32ESI2,0xb2000033)
ASM2MACRO(AES32ESI3,0xf2000033)
FUN2(aes32esmi0,AES32ESMI0)
FUN2(aes32esmi1,AES32ESMI1)
FUN2(aes32esmi2,AES32ESMI2)

View file

@ -64,14 +64,14 @@ asm("#define reg_t6 31\n");
return r; \
}
ASM2MACRO(AES32ESMI0,0x0000202b)
ASM2MACRO(AES32ESMI1,0x4000202b)
ASM2MACRO(AES32ESMI2,0x8000202b)
ASM2MACRO(AES32ESMI3,0xc000202b)
ASM2MACRO(AES32ESI0,0x0200202b)
ASM2MACRO(AES32ESI1,0x4200202b)
ASM2MACRO(AES32ESI2,0x8200202b)
ASM2MACRO(AES32ESI3,0xc200202b)
ASM2MACRO(AES32ESMI0,0x36000033)
ASM2MACRO(AES32ESMI1,0x76000033)
ASM2MACRO(AES32ESMI2,0xb6000033)
ASM2MACRO(AES32ESMI3,0xf6000033)
ASM2MACRO(AES32ESI0,0x32000033)
ASM2MACRO(AES32ESI1,0x72000033)
ASM2MACRO(AES32ESI2,0xb2000033)
ASM2MACRO(AES32ESI3,0xf2000033)
FUN2(aes32esmi0,AES32ESMI0)
FUN2(aes32esmi1,AES32ESMI1)
FUN2(aes32esmi2,AES32ESMI2)

View file

@ -1,20 +1,20 @@
//#define MATCH_AES32ESMI 0x202b
//#define MASK_AES32ESMI 0x3e00707f
//#define MATCH_AES32ESI 0x200202b
//#define MASK_AES32ESI 0x3e00707f
//{"aes32esmi" , 0, INSN_CLASS_ZSCRYPTO, "d,s,t,w", MATCH_AES32ESMI, MASK_AES32ESMI, match_opcode, 0},
//{"aes32esi" , 0, INSN_CLASS_ZSCRYPTO, "d,s,t,w", MATCH_AES32ESI, MASK_AES32ESI, match_opcode, 0},
//bs 00000 rs2 rs1 010 rd 0101011 aes32esmi
//bs 00001 rs2 rs1 010 rd 0101011 aes32esi
//for v0.8 of K scalar
//#define MASK_AES32ESMI 0x3e00707f
//#define MATCH_AES32ESMI 0x36000033
//#define MASK_AES32ESI 0x3e00707f
//#define MATCH_AES32ESI 0x32000033
//bs 11011 rs2 rs1==rd 000 rd 0110011 aes32esmi
//bs 11001 rs2 rs1==rd 000 rd 0110011 aes32esi
I aes32esmi0 aes32esmi0 0000000----------010-----0101011 aes0 Zkne
I aes32esmi1 aes32esmi1 0100000----------010-----0101011 aes0 Zkne
I aes32esmi2 aes32esmi2 1000000----------010-----0101011 aes0 Zkne
I aes32esmi3 aes32esmi3 1100000----------010-----0101011 aes0 Zkne
I aes32esi0 aes32esi0 0000001----------010-----0101011 aes1 Zkne
I aes32esi1 aes32esi1 0100001----------010-----0101011 aes1 Zkne
I aes32esi2 aes32esi2 1000001----------010-----0101011 aes1 Zkne
I aes32esi3 aes32esi3 1100001----------010-----0101011 aes1 Zkne
I aes32esmi0 aes32esmi0 0011011----------000-----0110011 aes0 Zkne
I aes32esmi1 aes32esmi1 0111011----------000-----0110011 aes0 Zkne
I aes32esmi2 aes32esmi2 1011011----------000-----0110011 aes0 Zkne
I aes32esmi3 aes32esmi3 1111011----------000-----0110011 aes0 Zkne
I aes32esi0 aes32esi0 0011001----------000-----0110011 aes1 Zkne
I aes32esi1 aes32esi1 0111001----------000-----0110011 aes1 Zkne
I aes32esi2 aes32esi2 1011001----------000-----0110011 aes1 Zkne
I aes32esi3 aes32esi3 1111001----------000-----0110011 aes1 Zkne
S aes32esmi0 "fun_aesx_0(input(SRC2), input(SRC1))"
S aes32esmi1 "fun_aesx_1(input(SRC2), input(SRC1))"