Philippe Mathieu-Daudé and Richard Henderson
2ff8c9a298
buildsys: Remove support for 32-bit PPC hosts
...
Stop detecting 32-bit PPC host as supported.
See previous commit for rationale.
Reviewed-by: Thomas Huth <thuth@redhat.com >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
[rth: Retain _ARCH_PPC64 check in udiv_qrnnd]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-ID: <20251014173900.87497-4-philmd@linaro.org >
2025-10-16 14:58:53 -07:00
Richard Henderson
8be545ba5a
include/system: Move exec/memory.h to system/memory.h
...
Convert the existing includes with
sed -i ,exec/memory.h,system/memory.h,g
Move the include within cpu-all.h into a !CONFIG_USER_ONLY block.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2025-04-23 14:08:21 -07:00
Philippe Mathieu-Daudé
4c5c410ceb
disas: Prefer cached CpuClass over CPU_GET_CLASS() macro
...
CpuState caches its CPUClass since commit 6fbdff8706
("cpu: cache CPUClass in CPUState for hot code paths"),
use it.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20250122093028.52416-8-philmd@linaro.org >
2025-03-09 17:00:47 +01:00
Philippe Mathieu-Daudé
ae24e13a9f
disas: Remove target_words_bigendian() call in initialize_debug_target()
...
All CPUClass implementating disas_set_info() must set the
disassemble_info::endian value.
Ensure that by setting %endian to BFD_ENDIAN_UNKNOWN before
calling the CPUClass::disas_set_info() handler, then asserting
%endian is not BFD_ENDIAN_UNKNOWN after the call.
This allows removing the target_words_bigendian() call in disas/.
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Message-Id: <20250210212931.62401-11-philmd@linaro.org >
2025-03-06 15:46:18 +01:00
Rob Bradford and Alistair Francis
81819038d7
disas/riscv: Add missing Sdtrig CSRs
...
This reflects the latest frozen version of the RISC-V Debug
specification (1.0.0-rc4) which includes the Sdtrig extension.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
Acked-by: Alistair Francis <alistair.francis@wdc.com >
Message-ID: <20250206153410.236636-3-rbradford@rivosinc.com >
Signed-off-by: Alistair Francis <alistair.francis@wdc.com >
2025-03-04 15:42:54 +10:00
Rob Bradford and Alistair Francis
d30db4df51
disas/riscv: Fix minor whitespace issues
...
Some extra spaces made into into the RISC-V opcode data table.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Message-ID: <20250206153410.236636-2-rbradford@rivosinc.com >
Signed-off-by: Alistair Francis <alistair.francis@wdc.com >
2025-03-04 15:42:54 +10:00
Helge Deller
bf60e2a72a
disas/hppa: implement mfdiag/mtdiag disassembly
...
The various PA-RISC CPUs implement different CPU-specific diag
instructions (mfdiag, mtdiag, mfcpu, mtcpu, ...) to access CPU-internal
diagnose/configuration registers, e.g. for cache control, managing space
register hashing, control front panel LEDs and read status of the
hardware reset button.
Those instructions are mostly undocumented, but are used by ODE, HP-UX
and Linux.
This patch adds some neccessary instructions for PCXL and PCXU CPUs.
Signed-off-by: Helge Deller <deller@gmx.de >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
2025-01-30 13:37:20 +01:00
LIU Zhiwei and Richard Henderson
f65f3ebfad
disas/riscv: Guard dec->cfg dereference for host disassemble
...
For riscv host, it will set dec->cfg to zero. Thus we shuld guard
the dec->cfg deference for riscv host disassemble.
And in general, we should only use dec->cfg for target in three cases:
1) For not incompatible encodings, such as zcmp/zcmt/zfinx.
2) For maybe-ops encodings, they are better to be disassembled to
the "real" extensions, such as zicfiss. The guard of dec->zimop
and dec->zcmop is for comment and avoid check for every extension
that encoded in maybe-ops area.
3) For custom encodings, we have to use dec->cfg to disassemble
custom encodings using the same encoding area.
Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com >
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-ID: <20241206032411.52528-1-zhiwei_liu@linux.alibaba.com >
2025-01-16 20:57:16 -08:00
Deepak Gupta and Alistair Francis
e75f945123
disas/riscv: enable disassembly for compressed sspush/sspopchk
...
sspush and sspopchk have equivalent compressed encoding taken from zcmop.
cmop.1 is sspush x1 while cmop.5 is sspopchk x5. Due to unusual encoding
for both rs1 and rs2 from space bitfield, this required a new codec.
Signed-off-by: Deepak Gupta <debug@rivosinc.com >
Acked-by: Alistair Francis <alistair.francis@wdc.com >
Message-ID: <20241008225010.1861630-20-debug@rivosinc.com >
Signed-off-by: Alistair Francis <alistair.francis@wdc.com >
2024-10-31 13:51:24 +10:00
Deepak Gupta and Alistair Francis
b9080d0765
disas/riscv: enable disassembly for zicfiss instructions
...
Enable disassembly for sspush, sspopchk, ssrdp & ssamoswap.
Disasembly is only enabled if zimop and zicfiss ext is set to true.
Signed-off-by: Deepak Gupta <debug@rivosinc.com >
Acked-by: Alistair Francis <alistair.francis@wdc.com >
Message-ID: <20241008225010.1861630-19-debug@rivosinc.com >
Signed-off-by: Alistair Francis <alistair.francis@wdc.com >
2024-10-31 13:51:17 +10:00
Deepak Gupta and Alistair Francis
5e761bd613
disas/riscv: enable lpad disassembly
...
Signed-off-by: Deepak Gupta <debug@rivosinc.com >
Co-developed-by: Jim Shu <jim.shu@sifive.com >
Co-developed-by: Andy Chiu <andy.chiu@sifive.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Message-ID: <20241008225010.1861630-9-debug@rivosinc.com >
Signed-off-by: Alistair Francis <alistair.francis@wdc.com >
2024-10-30 11:22:08 +10:00
Richard Henderson
be46e0bf14
disas/riscv: Fix vsetivli disassembly
...
The first immediate field is unsigned, whereas operand_vimm
extracts a signed value. There is no need to mask the result
with 'u'; just print the immediate with 'i'.
Fixes: 07f4964d17 ("disas/riscv.c: rvv: Add disas support for vector instructions")
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Reviewed-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2024-10-22 11:57:25 -07:00
Philippe Mathieu-Daudé and Thomas Huth
c700d06819
disas: Remove CRIS disassembler
...
We just removed the CRIS target, the disassembler is now dead code.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-ID: <20240904143603.52934-15-philmd@linaro.org >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2024-10-07 11:33:20 +02:00
Balaji Ravikumar and Alistair Francis
4d46d84ea7
disas/riscv: Add decode for Zawrs extension
...
Add disassembly support for these instructions from Zawrs:
* wrs.sto
* wrs.nto
Signed-off-by: Balaji Ravikumar <bravikumar@rivosinc.com >
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
Acked-by: Alistair Francis <alistair.francis@wdc.com >
Message-ID: <20240705165316.127494-1-rbradford@rivosinc.com >
Signed-off-by: Alistair Francis <alistair.francis@wdc.com >
2024-07-18 12:08:44 +10:00
LIU Zhiwei and Alistair Francis
ae4bdcef6f
disas/riscv: Support zabha disassemble
...
Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com >
Acked-by: Alistair Francis <alistair.francis@wdc.com >
Message-ID: <20240709113652.1239-12-zhiwei_liu@linux.alibaba.com >
Signed-off-by: Alistair Francis <alistair.francis@wdc.com >
2024-07-18 12:08:41 +10:00
LIU Zhiwei and Alistair Francis
67e98ebad0
disas/riscv: Support zcmop disassemble
...
Although in QEMU disassemble, we usually lift compressed instruction
to an normal format when display the instruction name. For C.MOP.n,
it is more reasonable to directly display its compressed name, because
its behavior can be redefined by later extension.
Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com >
Acked-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Deepak Gupta <debug@rivosinc.com >
Message-ID: <20240709113652.1239-5-zhiwei_liu@linux.alibaba.com >
Signed-off-by: Alistair Francis <alistair.francis@wdc.com >
2024-07-18 12:00:42 +10:00
LIU Zhiwei and Alistair Francis
d98883d127
disas/riscv: Support zimop disassemble
...
Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com >
Acked-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Deepak Gupta <debug@rivosinc.com >
Message-ID: <20240709113652.1239-3-zhiwei_liu@linux.alibaba.com >
Signed-off-by: Alistair Francis <alistair.francis@wdc.com >
2024-07-18 12:00:42 +10:00
Richard Henderson
b89fb575fd
disas/riscv: Use GString in format_inst
...
Allocate and fill a GString instead of snprintf and
appending to a fixed sized buffer.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Message-Id: <20240412073346.458116-22-richard.henderson@linaro.org >
2024-06-05 12:29:54 -07:00
Richard Henderson
a45e0b5290
disas/microblaze: Split get_field_special
...
Extract the raw special index and a function to lookup a name.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Message-Id: <20240412073346.458116-21-richard.henderson@linaro.org >
2024-06-05 12:29:54 -07:00
Richard Henderson
b35ab133eb
disas/microblaze: Print registers directly with PRIrfsl
...
Use a printf format instead of sprintf into a buffer.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Message-Id: <20240412073346.458116-20-richard.henderson@linaro.org >
2024-06-05 12:29:54 -07:00
Richard Henderson
c521e0a3e1
disas/microblaze: Print immediates directly with PRIimm
...
Use a printf format instead of sprintf into a buffer.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Message-Id: <20240412073346.458116-19-richard.henderson@linaro.org >
2024-06-05 12:29:54 -07:00
Richard Henderson
b0063d831b
disas/microblaze: Print registers directly with PRIreg
...
Use a printf format instead of sprintf into a buffer.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Message-Id: <20240412073346.458116-18-richard.henderson@linaro.org >
2024-06-05 12:29:54 -07:00
Richard Henderson
de66f9f7ab
disas/microblaze: Merge op->name output into each fprintf
...
In the common case, issue one single fprintf.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Message-Id: <20240412073346.458116-17-richard.henderson@linaro.org >
2024-06-05 12:29:54 -07:00
Richard Henderson
c3c6fed646
disas/microblaze: Re-indent print_insn_microblaze
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Message-Id: <20240412073346.458116-16-richard.henderson@linaro.org >
2024-06-05 12:29:49 -07:00
Richard Henderson
58e5632c70
disas/microblaze: Split out print_immval_addr
...
Unify the code blocks that try to print a symbolic address.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org >
Message-Id: <20240412073346.458116-15-richard.henderson@linaro.org >
2024-06-05 12:29:49 -07:00