mirror of
https://github.com/rdolbeau/VexRiscvBPluginGenerator.git
synced 2025-04-18 18:44:42 -04:00
move SHA to v0.8 of Kscalar
This commit is contained in:
parent
219844c69c
commit
c8bc50d6b6
4 changed files with 61 additions and 70 deletions
|
@ -114,16 +114,16 @@ class CryptoZknhPlugin extends Plugin[VexRiscv] {
|
|||
RS3_USE -> True,
|
||||
IS_CryptoZknh -> True
|
||||
)
|
||||
def sha256sig0_KEY = M"000011100000-----111-----0101011"
|
||||
def sha256sig1_KEY = M"000011100001-----111-----0101011"
|
||||
def sha256sum0_KEY = M"000011100010-----111-----0101011"
|
||||
def sha256sum1_KEY = M"000011100011-----111-----0101011"
|
||||
def sha512sig0l_KEY = M"0001000----------111-----0101011"
|
||||
def sha512sig0h_KEY = M"0001001----------111-----0101011"
|
||||
def sha512sig1l_KEY = M"0001010----------111-----0101011"
|
||||
def sha512sig1h_KEY = M"0001011----------111-----0101011"
|
||||
def sha512sum0r_KEY = M"0001100----------111-----0101011"
|
||||
def sha512sum1r_KEY = M"0001101----------111-----0101011"
|
||||
def sha256sig0_KEY = M"000100000010-----001-----0010011"
|
||||
def sha256sig1_KEY = M"000100000011-----001-----0010011"
|
||||
def sha256sum0_KEY = M"000100000000-----001-----0010011"
|
||||
def sha256sum1_KEY = M"000100000001-----001-----0010011"
|
||||
def sha512sig0l_KEY = M"0101010----------000-----0110011"
|
||||
def sha512sig0h_KEY = M"0101110----------000-----0110011"
|
||||
def sha512sig1l_KEY = M"0101011----------000-----0110011"
|
||||
def sha512sig1h_KEY = M"0101111----------000-----0110011"
|
||||
def sha512sum0r_KEY = M"0101000----------000-----0110011"
|
||||
def sha512sum1r_KEY = M"0101001----------000-----0110011"
|
||||
val decoderService = pipeline.service(classOf[DecoderService])
|
||||
decoderService.addDefault(IS_CryptoZknh, False)
|
||||
decoderService.add(List(
|
||||
|
|
83
data_sha.txt
83
data_sha.txt
|
@ -1,61 +1,52 @@
|
|||
//#define MATCH_SHA256SIG0 0xe00702b
|
||||
//#define MASK_SHA256SIG0 0xfff0707f
|
||||
//#define MATCH_SHA256SIG1 0xe10702b
|
||||
//#define MASK_SHA256SIG1 0xfff0707f
|
||||
//#define MATCH_SHA256SUM0 0xe20702b
|
||||
//#define MASK_SHA256SUM0 0xfff0707f
|
||||
//#define MATCH_SHA256SUM1 0xe30702b
|
||||
//#define MATCH_SHA256SUM0 0x10001013
|
||||
//#define MASK_SHA256SUM1 0xfff0707f
|
||||
//{"sha256sig0" , 0, INSN_CLASS_I, "d,s", MATCH_SHA256SIG0, MASK_SHA256SIG0, match_opcode, 0},
|
||||
//{"sha256sig1" , 0, INSN_CLASS_I, "d,s", MATCH_SHA256SIG1, MASK_SHA256SIG1, match_opcode, 0},
|
||||
//{"sha256sum0" , 0, INSN_CLASS_I, "d,s", MATCH_SHA256SUM0, MASK_SHA256SUM0, match_opcode, 0},
|
||||
//{"sha256sum1" , 0, INSN_CLASS_I, "d,s", MATCH_SHA256SUM1, MASK_SHA256SUM1, match_opcode, 0},
|
||||
//0000111 00000 rs1 111 rd 0101011 sha256sig0
|
||||
//0000111 00001 rs1 111 rd 0101011 sha256sig1
|
||||
//0000111 00010 rs1 111 rd 0101011 sha256sum0
|
||||
//0000111 00011 rs1 111 rd 0101011 sha256sum1
|
||||
//#define MATCH_SHA256SUM1 0x10101013
|
||||
//#define MASK_SHA256SIG0 0xfff0707f
|
||||
//#define MATCH_SHA256SIG0 0x10201013
|
||||
//#define MASK_SHA256SIG1 0xfff0707f
|
||||
//#define MATCH_SHA256SIG1 0x10301013
|
||||
//00 01000 00010 rs1 001 rd 0010011 sha256sig0
|
||||
//00 01000 00011 rs1 001 rd 0010011 sha256sig1
|
||||
//00 01000 00000 rs1 001 rd 0010011 sha256sum0
|
||||
//00 01000 00001 rs1 001 rd 0010011 sha256sum1
|
||||
|
||||
I sha256sig0 sha256sig0 000011100000-----111-----0101011 sha256sig Zknh
|
||||
I sha256sig1 sha256sig1 000011100001-----111-----0101011 sha256sig Zknh
|
||||
I sha256sum0 sha256sum0 000011100010-----111-----0101011 sha256sum Zknh
|
||||
I sha256sum1 sha256sum1 000011100011-----111-----0101011 sha256sum Zknh
|
||||
I sha256sig0 sha256sig0 000100000010-----001-----0010011 sha256sig Zknh
|
||||
I sha256sig1 sha256sig1 000100000011-----001-----0010011 sha256sig Zknh
|
||||
I sha256sum0 sha256sum0 000100000000-----001-----0010011 sha256sum Zknh
|
||||
I sha256sum1 sha256sum1 000100000001-----001-----0010011 sha256sum Zknh
|
||||
|
||||
S sha256sig0 "fun_sha256sig0(input(SRC1))"
|
||||
S sha256sig1 "fun_sha256sig1(input(SRC1))"
|
||||
S sha256sum0 "fun_sha256sum0(input(SRC1))"
|
||||
S sha256sum1 "fun_sha256sum1(input(SRC1))"
|
||||
|
||||
//#define MATCH_SHA512SIG0L 0x1000702b
|
||||
//#define MASK_SHA512SIG0L 0xfe00707f
|
||||
//#define MATCH_SHA512SIG0H 0x1200702b
|
||||
//#define MASK_SHA512SIG0H 0xfe00707f
|
||||
//#define MATCH_SHA512SIG1L 0x1400702b
|
||||
//#define MASK_SHA512SIG1L 0xfe00707f
|
||||
//#define MATCH_SHA512SIG1H 0x1600702b
|
||||
//#define MASK_SHA512SIG1H 0xfe00707f
|
||||
//#define MATCH_SHA512SUM0R 0x1800702b
|
||||
//#define MASK_SHA512SUM0R 0xfe00707f
|
||||
//#define MATCH_SHA512SUM1R 0x1a00702b
|
||||
//#define MATCH_SHA512SUM0R 0x50000033
|
||||
//#define MASK_SHA512SUM1R 0xfe00707f
|
||||
//{"sha512sig0l" , 0, INSN_CLASS_I, "d,s,t", MATCH_SHA512SIG0L, MASK_SHA512SIG0L, match_opcode, 0},
|
||||
//{"sha512sig0h" , 0, INSN_CLASS_I, "d,s,t", MATCH_SHA512SIG0H, MASK_SHA512SIG0H, match_opcode, 0},
|
||||
//{"sha512sig1l" , 0, INSN_CLASS_I, "d,s,t", MATCH_SHA512SIG1L, MASK_SHA512SIG1L, match_opcode, 0},
|
||||
//{"sha512sig1h" , 0, INSN_CLASS_I, "d,s,t", MATCH_SHA512SIG1H, MASK_SHA512SIG1H, match_opcode, 0},
|
||||
//{"sha512sum0r" , 0, INSN_CLASS_I, "d,s,t", MATCH_SHA512SUM0R, MASK_SHA512SUM0R, match_opcode, 0},
|
||||
//{"sha512sum1r" , 0, INSN_CLASS_I, "d,s,t", MATCH_SHA512SUM1R, MASK_SHA512SUM1R, match_opcode, 0},
|
||||
//0001000 rs2 rs1 111 rd 0101011 sha512sig0l
|
||||
//0001001 rs2 rs1 111 rd 0101011 sha512sig0h
|
||||
//0001010 rs2 rs1 111 rd 0101011 sha512sig1l
|
||||
//0001011 rs2 rs1 111 rd 0101011 sha512sig1h
|
||||
//0001100 rs2 rs1 111 rd 0101011 sha512sum0r
|
||||
//0001101 rs2 rs1 111 rd 0101011 sha512sum1r
|
||||
//#define MATCH_SHA512SUM1R 0x52000033
|
||||
//#define MASK_SHA512SIG0L 0xfe00707f
|
||||
//#define MATCH_SHA512SIG0L 0x54000033
|
||||
//#define MASK_SHA512SIG0H 0xfe00707f
|
||||
//#define MATCH_SHA512SIG0H 0x5c000033
|
||||
//#define MASK_SHA512SIG1L 0xfe00707f
|
||||
//#define MATCH_SHA512SIG1L 0x56000033
|
||||
//#define MASK_SHA512SIG1H 0xfe00707f
|
||||
//#define MATCH_SHA512SIG1H 0x5e000033
|
||||
|
||||
I sha512sig0l sha512sig0l 0001000----------111-----0101011 sha512sig Zknh
|
||||
I sha512sig0h sha512sig0h 0001001----------111-----0101011 sha512sig Zknh
|
||||
I sha512sig1l sha512sig1l 0001010----------111-----0101011 sha512sig Zknh
|
||||
I sha512sig1h sha512sig1h 0001011----------111-----0101011 sha512sig Zknh
|
||||
I sha512sum0r sha512sum0r 0001100----------111-----0101011 sha512sum Zknh
|
||||
I sha512sum1r sha512sum1r 0001101----------111-----0101011 sha512sum Zknh
|
||||
//01 01010 rs2 rs1 000 rd 0110011 sha512sig0l
|
||||
//01 01110 rs2 rs1 000 rd 0110011 sha512sig0h
|
||||
//01 01011 rs2 rs1 000 rd 0110011 sha512sig1l
|
||||
//01 01111 rs2 rs1 000 rd 0110011 sha512sig1h
|
||||
//01 01000 rs2 rs1 000 rd 0110011 sha512sum0r
|
||||
//01 01001 rs2 rs1 000 rd 0110011 sha512sum1r
|
||||
|
||||
I sha512sig0l sha512sig0l 0101010----------000-----0110011 sha512sig Zknh
|
||||
I sha512sig0h sha512sig0h 0101110----------000-----0110011 sha512sig Zknh
|
||||
I sha512sig1l sha512sig1l 0101011----------000-----0110011 sha512sig Zknh
|
||||
I sha512sig1h sha512sig1h 0101111----------000-----0110011 sha512sig Zknh
|
||||
I sha512sum0r sha512sum0r 0101000----------000-----0110011 sha512sum Zknh
|
||||
I sha512sum1r sha512sum1r 0101001----------000-----0110011 sha512sum Zknh
|
||||
|
||||
S sha512sig0l "fun_sha512sig0l(input(SRC1),input(SRC2))"
|
||||
S sha512sig0h "fun_sha512sig0h(input(SRC1),input(SRC2))"
|
||||
|
|
|
@ -60,10 +60,10 @@ asm("#define reg_t6 31\n");
|
|||
return r; \
|
||||
}
|
||||
|
||||
ASM1MACRO(SHA256SIG0,0x0e00702b)
|
||||
ASM1MACRO(SHA256SIG1,0x0e10702b)
|
||||
ASM1MACRO(SHA256SUM0,0x0e20702b)
|
||||
ASM1MACRO(SHA256SUM1,0x0e30702b)
|
||||
ASM1MACRO(SHA256SIG0,0x10201013)
|
||||
ASM1MACRO(SHA256SIG1,0x10301013)
|
||||
ASM1MACRO(SHA256SUM0,0x10001013)
|
||||
ASM1MACRO(SHA256SUM1,0x10101013)
|
||||
FUN1(sha256sig0,SHA256SIG0)
|
||||
FUN1(sha256sig1,SHA256SIG1)
|
||||
FUN1(sha256sum0,SHA256SUM0)
|
||||
|
|
|
@ -61,12 +61,12 @@ asm("#define reg_t6 31\n");
|
|||
return r; \
|
||||
}
|
||||
|
||||
ASM2MACRO(SHA512SIG0L,0x1000702b)
|
||||
ASM2MACRO(SHA512SIG0H,0x1200702b)
|
||||
ASM2MACRO(SHA512SIG1L,0x1400702b)
|
||||
ASM2MACRO(SHA512SIG1H,0x1600702b)
|
||||
ASM2MACRO(SHA512SUM0R,0x1800702b)
|
||||
ASM2MACRO(SHA512SUM1R,0x1a00702b)
|
||||
ASM2MACRO(SHA512SIG0L,0x54000033)
|
||||
ASM2MACRO(SHA512SIG0H,0x5c000033)
|
||||
ASM2MACRO(SHA512SIG1L,0x56000033)
|
||||
ASM2MACRO(SHA512SIG1H,0x5e000033)
|
||||
ASM2MACRO(SHA512SUM0R,0x50000033)
|
||||
ASM2MACRO(SHA512SUM1R,0x52000033)
|
||||
FUN2(sha512sig0l, SHA512SIG0L)
|
||||
FUN2(sha512sig0h, SHA512SIG0H)
|
||||
FUN2(sha512sig1l, SHA512SIG1L)
|
||||
|
|
Loading…
Add table
Reference in a new issue