[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/8] Add support for extension specific disas
From: |
Weiwei Li |
Subject: |
[PATCH v2 0/8] Add support for extension specific disas |
Date: |
Tue, 23 May 2023 17:35:31 +0800 |
Some extensions have conflict encodings, such as
* Z*inx reuse the same encodings as normal float point extensions.
* Zcm* reuse the some encodings of Zcd.
* Custom extensions from different vendors may share the same encodings.
To resolve this problem, this patchset tries to pass RISCVCPUConfig as
disasemble_info.target_info to support extension specific disas, which means
that the disas for this extensions is supported only when the related extension
is supported.
This patchset also fixes some style problems in disas/riscv.c.
The port is available here:
https://github.com/plctlab/plct-qemu/tree/plct-disas-upstream-v2
v2:
* Split the RISCVCPUCfg declarations from cpu.h into the new cpu_cfg.h header
in a separated patch 2 and add a 2023 copyright (Suggested-by: Daniel Henrique
Barboza)
* Check Zcm* and avoid changing the other lines in patch 4 (Suggested-by:
Daniel Henrique Barboza)
Weiwei Li (8):
disas: Change type of disassemble_info.target_info to pointer
target/riscv: Split RISCVCPUConfig declarations from cpu.h into
cpu_cfg.h
target/riscv: Pass RISCVCPUConfig as target_info to disassemble_info
disas/riscv.c: Support disas for Zcm* extensions
disas/riscv.c: Support disas for Z*inx extensions
disas/riscv.c: Remove unused decomp_rv32/64 value for vector
instructions
disas/riscv.c: Fix lines with over 80 characters
disas/riscv.c: Remove redundant parentheses
disas/riscv.c | 1194 +++++++++++++++++++++------------------
include/disas/dis-asm.h | 2 +-
target/riscv/cpu.c | 1 +
target/riscv/cpu.h | 114 +---
target/riscv/cpu_cfg.h | 136 +++++
5 files changed, 785 insertions(+), 662 deletions(-)
create mode 100644 target/riscv/cpu_cfg.h
--
2.25.1
- [PATCH v2 0/8] Add support for extension specific disas,
Weiwei Li <=
- [PATCH v2 1/8] disas: Change type of disassemble_info.target_info to pointer, Weiwei Li, 2023/05/23
- [PATCH v2 3/8] target/riscv: Pass RISCVCPUConfig as target_info to disassemble_info, Weiwei Li, 2023/05/23
- [PATCH v2 5/8] disas/riscv.c: Support disas for Z*inx extensions, Weiwei Li, 2023/05/23
- [PATCH v2 2/8] target/riscv: Split RISCVCPUConfig declarations from cpu.h into cpu_cfg.h, Weiwei Li, 2023/05/23
- [PATCH v2 4/8] disas/riscv.c: Support disas for Zcm* extensions, Weiwei Li, 2023/05/23