[v4,1/3] RISC-V: Minimal support of scalar crypto extension

Message ID 20211115030343.276103-2-jiawei@iscas.ac.cn
State New
Headers show
Series
  • RISC-V: Support Scalar Cryptography extension
Related show

Commit Message

jiawei Nov. 15, 2021, 3:03 a.m.
Minimal support of scalar crypto extension, add "k" in riscv_supported_std_ext[] to make the   order check right with "zk" behind "zb". "zbk*" is sub-extension for k-ext, so it added behind "zbs" in riscv_supported_std_z_ext[].
---
 bfd/elfxx-riscv.c | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

-- 
2.25.1

Patch

diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
index 3ffbaad66dd..152fbe3d160 100644
--- a/bfd/elfxx-riscv.c
+++ b/bfd/elfxx-riscv.c
@@ -1075,6 +1075,20 @@  static struct riscv_implicit_subset riscv_implicit_subsets[] =
   {"q", "d",		check_implicit_always},
   {"d", "f",		check_implicit_always},
   {"f", "zicsr",	check_implicit_always},
+  {"zk", "zkn",	check_implicit_always},
+  {"zk", "zkr",	check_implicit_always},
+  {"zk", "zkt",	check_implicit_always},
+  {"zkn", "zbkb",	check_implicit_always},
+  {"zkn", "zbkc",	check_implicit_always},
+  {"zkn", "zbkx",	check_implicit_always},
+  {"zkn", "zkne",	check_implicit_always},
+  {"zkn", "zknd",	check_implicit_always},
+  {"zkn", "zknh",	check_implicit_always},
+  {"zks", "zbkb",	check_implicit_always},
+  {"zks", "zbkc",	check_implicit_always},
+  {"zks", "zbkx",	check_implicit_always},
+  {"zks", "zksed",	check_implicit_always},
+  {"zks", "zksh",	check_implicit_always},
   {NULL, NULL, NULL}
 };
 
@@ -1127,6 +1141,7 @@  static struct riscv_supported_ext riscv_supported_std_ext[] =
   {"c",		ISA_SPEC_CLASS_20190608,	2, 0, 0 },
   {"c",		ISA_SPEC_CLASS_2P2,		2, 0, 0 },
   {"b",		ISA_SPEC_CLASS_NONE, RISCV_UNKNOWN_VERSION, RISCV_UNKNOWN_VERSION, 0 },
+  {"k",		ISA_SPEC_CLASS_NONE, RISCV_UNKNOWN_VERSION, RISCV_UNKNOWN_VERSION, 0 },
   {"j",		ISA_SPEC_CLASS_NONE, RISCV_UNKNOWN_VERSION, RISCV_UNKNOWN_VERSION, 0 },
   {"t",		ISA_SPEC_CLASS_NONE, RISCV_UNKNOWN_VERSION, RISCV_UNKNOWN_VERSION, 0 },
   {"p",		ISA_SPEC_CLASS_NONE, RISCV_UNKNOWN_VERSION, RISCV_UNKNOWN_VERSION, 0 },
@@ -1146,6 +1161,19 @@  static struct riscv_supported_ext riscv_supported_std_z_ext[] =
   {"zba",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
   {"zbc",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
   {"zbs",               ISA_SPEC_CLASS_DRAFT,           1, 0,  0 },
+  {"zbkb",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zbkc",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zbkx",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zk",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zkn",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zknd",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zkne",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zknh",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zkr",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zks",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zksed", 	ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zksh",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zkt",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
   {NULL, 0, 0, 0, 0}
 };