disas: Defeature print_target_address
It does not work in multi-arch as it requires the CPU specific TARGET_VIRT_ADDR_SPACE_BITS global define. Just use the generic version that does no masking. Targets should be responsible for passing in a sane virtual address. Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> Message-Id: <1436129432-16617-1-git-send-email-crosthwaite.peter@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
491ffc1f7c
commit
9504c5445c
12
disas.c
12
disas.c
@ -72,14 +72,6 @@ generic_print_address (bfd_vma addr, struct disassemble_info *info)
|
||||
(*info->fprintf_func) (info->stream, "0x%" PRIx64, addr);
|
||||
}
|
||||
|
||||
/* Print address in hex, truncated to the width of a target virtual address. */
|
||||
static void
|
||||
generic_print_target_address(bfd_vma addr, struct disassemble_info *info)
|
||||
{
|
||||
uint64_t mask = ~0ULL >> (64 - TARGET_VIRT_ADDR_SPACE_BITS);
|
||||
generic_print_address(addr & mask, info);
|
||||
}
|
||||
|
||||
/* Print address in hex, truncated to the width of a host virtual address. */
|
||||
static void
|
||||
generic_print_host_address(bfd_vma addr, struct disassemble_info *info)
|
||||
@ -201,7 +193,7 @@ void target_disas(FILE *out, CPUState *cpu, target_ulong code,
|
||||
s.info.read_memory_func = target_read_memory;
|
||||
s.info.buffer_vma = code;
|
||||
s.info.buffer_length = size;
|
||||
s.info.print_address_func = generic_print_target_address;
|
||||
s.info.print_address_func = generic_print_address;
|
||||
|
||||
#ifdef TARGET_WORDS_BIGENDIAN
|
||||
s.info.endian = BFD_ENDIAN_BIG;
|
||||
@ -424,7 +416,7 @@ void monitor_disas(Monitor *mon, CPUState *cpu,
|
||||
s.cpu = cpu;
|
||||
monitor_disas_is_physical = is_physical;
|
||||
s.info.read_memory_func = monitor_read_memory;
|
||||
s.info.print_address_func = generic_print_target_address;
|
||||
s.info.print_address_func = generic_print_address;
|
||||
|
||||
s.info.buffer_vma = pc;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user