X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=disas.c;h=d9aa713a408abd81cf529db2eab741c82b30b9bb;hb=436960c95946007aca713330e7a488a6f2e0696f;hp=d4ad1089efb3b4ae6639d25e0b177f431bc2b106;hpb=15fa1a0ae0b7de61401131d3ecfcc4acbc31eaaa;p=mirror_qemu.git diff --git a/disas.c b/disas.c index d4ad1089ef..d9aa713a40 100644 --- a/disas.c +++ b/disas.c @@ -522,6 +522,14 @@ void disas(FILE *out, void *code, unsigned long size) # ifdef _ARCH_PPC64 s.info.cap_mode = CS_MODE_64; # endif +#elif defined(__riscv) && defined(CONFIG_RISCV_DIS) +#if defined(_ILP32) || (__riscv_xlen == 32) + print_insn = print_insn_riscv32; +#elif defined(_LP64) + print_insn = print_insn_riscv64; +#else +#error unsupported RISC-V ABI +#endif #elif defined(__aarch64__) && defined(CONFIG_ARM_A64_DIS) print_insn = print_insn_arm_a64; s.info.cap_arch = CS_ARCH_ARM64; @@ -586,7 +594,10 @@ static int physical_read_memory(bfd_vma memaddr, bfd_byte *myaddr, int length, struct disassemble_info *info) { - cpu_physical_memory_read(memaddr, myaddr, length); + CPUDebug *s = container_of(info, CPUDebug, info); + + address_space_read(s->cpu->as, memaddr, MEMTXATTRS_UNSPECIFIED, + myaddr, length); return 0; }