Lines Matching +full:04 +full:- +full:aarch32 +full:- +full:all

3  * SPDX-License-Identifier: GPL-2.0-or-later
8 #include "disas/dis-asm.h"
59 * re-open the target handle with a different arch for the target in order
60 * to handle AArch64 vs AArch32 mode switching.
64 cs_mode cap_mode = info->cap_mode; in cap_disas_start()
67 cap_mode += (info->endian == BFD_ENDIAN_BIG ? CS_MODE_BIG_ENDIAN in cap_disas_start()
70 err = cs_open(info->cap_arch, cap_mode, handle); in cap_disas_start()
78 switch (info->cap_arch) { in cap_disas_start()
108 fprintf_function print = info->fprintf_func; in cap_dump_insn_units()
109 FILE *stream = info->stream; in cap_dump_insn_units()
111 switch (info->cap_insn_unit) { in cap_dump_insn_units()
113 if (info->endian == BFD_ENDIAN_BIG) { in cap_dump_insn_units()
115 print(stream, " %08x", ldl_be_p(insn->bytes + i)); in cap_dump_insn_units()
120 print(stream, " %08x", ldl_le_p(insn->bytes + i)); in cap_dump_insn_units()
126 if (info->endian == BFD_ENDIAN_BIG) { in cap_dump_insn_units()
128 print(stream, " %04x", lduw_be_p(insn->bytes + i)); in cap_dump_insn_units()
132 print(stream, " %04x", lduw_le_p(insn->bytes + i)); in cap_dump_insn_units()
139 print(stream, " %02x", insn->bytes[i]); in cap_dump_insn_units()
147 fprintf_function print = info->fprintf_func; in cap_dump_insn()
148 FILE *stream = info->stream; in cap_dump_insn()
151 print(stream, "0x%08" PRIx64 ": ", insn->address); in cap_dump_insn()
153 n = insn->size; in cap_dump_insn()
154 split = info->cap_insn_split; in cap_dump_insn()
161 int width = (split - n) / info->cap_insn_unit; in cap_dump_insn()
162 width *= (2 * info->cap_insn_unit + 1); in cap_dump_insn()
167 print(stream, " %-8s %s\n", insn->mnemonic, insn->op_str); in cap_dump_insn()
171 print(stream, "0x%08" PRIx64 ": ", insn->address + i); in cap_dump_insn()
191 size_t tsize = MIN(sizeof(cap_buf) - csize, size); in cap_disas_target()
194 if (info->read_memory_func(pc + csize, cap_buf + csize, tsize, info) == 0) { in cap_disas_target()
196 size -= tsize; in cap_disas_target()
219 info->fprintf_func(info->stream, in cap_disas_target()
222 "Please report this to qemu-devel@nongnu.org\n"); in cap_disas_target()
227 info->fprintf_func(info->stream, in cap_disas_target()
257 info->fprintf_func(info->stream, in cap_disas_host()
259 "Please report this to qemu-devel@nongnu.org\n"); in cap_disas_host()
283 * known to be sufficient for all supported targets. Try to not in cap_disas_monitor()
290 size_t tsize = MIN(sizeof(cap_buf) - csize, epc - pc); in cap_disas_monitor()
295 if (info->read_memory_func(pc + csize, cap_buf + csize, in cap_disas_monitor()
302 if (--count <= 0) { in cap_disas_monitor()
308 info->fprintf_func(info->stream, in cap_disas_monitor()
330 info->read_memory_func(pc, cap_buf, size, info); in cap_disas_plugin()
333 info->fprintf_func(info->stream, "%s %s", in cap_disas_plugin()
334 cap_insn->mnemonic, cap_insn->op_str); in cap_disas_plugin()