[PATCH] RISC-V: Add bfd/cpu-riscv.h to support all spec versions controling.
Nick Clifton
nickc@redhat.com
Wed Feb 17 10:56:34 GMT 2021
Hi Nelson,
>> bfd/
>> * Makefile.am: Added cpu-riscv.h.
>> * Makefile.in: Regenerated.
>> * doc/Makefile.in: Regenerated.
>> * po/SRC-POTFILES.in: Regenerated.
>> * cpu-riscv.h: Added to support spec versions controling. Also added
>> extern arrays and functions for cpu-riscv.c.
>> (enum riscv_spec_class): Define all spec classes here uniformly.
>> (struct riscv_spec): Added for all specs.
>> (RISCV_GET_SPEC_CLASS): Added to reduce repeated code.
>> (RISCV_GET_SPEC_NAME): Likewise.
>> (RISCV_GET_ISA_SPEC_CLASS): Added to get ISA spec class.
>> (RISCV_GET_PRIV_SPEC_CLASS): Added to get privileged spec class.
>> (RISCV_GET_PRIV_SPEC_NAME): Added to get privileged spec name.
>> * cpu-riscv.c (struct priv_spec_t): Replaced with struct riscv_spec.
>> (riscv_get_priv_spec_class): Replaced with RISCV_GET_PRIV_SPEC_CLASS.
>> (riscv_get_priv_spec_name): Replaced with RISCV_GET_PRIV_SPEC_NAME.
>> (riscv_priv_specs): Moved below.
>> (riscv_get_priv_spec_class_from_numbers): Likewise, updated.
>> (riscv_isa_specs): Moved from include/opcode/riscv.h.
>> * elfnn-riscv.c: Included cpu-riscv.h.
>> (riscv_merge_attributes): Initialize in_priv_spec and out_priv_spec.
>> * elfxx-riscv.c: Included cpu-riscv.h and opcode/riscv.h.
>> (RISCV_UNKNOWN_VERSION): Moved from include/opcode/riscv.h.
>> * elfxx-riscv.h: Removed extern functions to cpu-riscv.h.
>> gas/
>> * config/tc-riscv.c: Included cpu-riscv.h.
>> (enum riscv_csr_clas): Moved from include/opcode/riscv.h.
>> (struct riscv_csr_extra): Likewise.
>> (struct riscv_ext_version): Likewise.
>> (ext_version_table): Moved from opcodes/riscv-opc.c.
>> (default_isa_spec): Updated type to riscv_spec_class.
>> (default_priv_spec): Likewise.
>> (riscv_set_default_isa_spec): Updated.
>> (init_ext_version_hash): Likewise.
>> (riscv_init_csr_hash): Likewise, also fixed indent.
>> include/
>> * opcode/riscv.h: Moved stuff and make the file tidy.
>> opcodes/
>> * riscv-dis.c: Included cpu-riscv.h, and removed elfxx-riscv.h.
>> (default_priv_spec): Updated type to riscv_spec_class.
>> (parse_riscv_dis_option): Updated.
>> * riscv-opc.c: Moved stuff and make the file tidy.
Patch approved - please apply.
Cheers
Nick
More information about the Binutils
mailing list