[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 05/22] monitor: Use address_space_read() to read memo
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PULL 05/22] monitor: Use address_space_read() to read memory |
Date: |
Fri, 14 Dec 2018 14:41:57 +0000 |
Currently monitor.c reads physical memory using
cpu_physical_memory_read(). This effectively hard-codes
assuming that all CPUs have the same view of physical
memory. Switch to address_space_read() instead, which
lets us use the AddressSpace for the CPU we're
reading memory for (falling back to address_space_memory
if there is no CPU, as happens with the "none" board).
As a bonus, this allows us to detect failures to read memory.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
---
monitor.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/monitor.c b/monitor.c
index 6e81b09294e..4c8d8c2a5a0 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1605,7 +1605,13 @@ static void memory_dump(Monitor *mon, int count, int
format, int wsize,
if (l > line_size)
l = line_size;
if (is_physical) {
- cpu_physical_memory_read(addr, buf, l);
+ AddressSpace *as = cs ? cs->as : &address_space_memory;
+ MemTxResult r = address_space_read(as, addr,
+ MEMTXATTRS_UNSPECIFIED, buf, l);
+ if (r != MEMTX_OK) {
+ monitor_printf(mon, " Cannot access memory\n");
+ break;
+ }
} else {
if (cpu_memory_rw_debug(cs, addr, buf, l, 0) < 0) {
monitor_printf(mon, " Cannot access memory\n");
--
2.19.2
- [Qemu-devel] [PULL 00/22] misc queue, Peter Maydell, 2018/12/14
- [Qemu-devel] [PULL 02/22] exec.c: Rename cpu_physical_memory_write_rom_internal(), Peter Maydell, 2018/12/14
- [Qemu-devel] [PULL 01/22] scripts/checkpatch.pl: Enforce multiline comment syntax, Peter Maydell, 2018/12/14
- [Qemu-devel] [PULL 04/22] disas.c: Use address_space_read() to read memory, Peter Maydell, 2018/12/14
- [Qemu-devel] [PULL 05/22] monitor: Use address_space_read() to read memory,
Peter Maydell <=
- [Qemu-devel] [PULL 06/22] elf_ops.h: Use address_space_write() to write memory, Peter Maydell, 2018/12/14
- [Qemu-devel] [PULL 03/22] Rename cpu_physical_memory_write_rom() to address_space_write_rom(), Peter Maydell, 2018/12/14
- [Qemu-devel] [PULL 07/22] hw/ppc/mac_newworld, mac_oldworld: Don't use load_image(), Peter Maydell, 2018/12/14
- [Qemu-devel] [PULL 09/22] hw/smbios/smbios.c: Don't use load_image(), Peter Maydell, 2018/12/14
- [Qemu-devel] [PULL 08/22] hw/ppc/ppc405_boards: Don't use load_image(), Peter Maydell, 2018/12/14
- [Qemu-devel] [PULL 11/22] hw/i386/pc.c: Don't use load_image(), Peter Maydell, 2018/12/14
- [Qemu-devel] [PULL 10/22] hw/pci/pci.c: Don't use load_image(), Peter Maydell, 2018/12/14
- [Qemu-devel] [PULL 12/22] hw/i386/multiboot.c: Don't use load_image(), Peter Maydell, 2018/12/14
- [Qemu-devel] [PULL 13/22] hw/block/tc58128.c: Don't use load_image(), Peter Maydell, 2018/12/14
- [Qemu-devel] [PULL 14/22] device_tree.c: Don't use load_image(), Peter Maydell, 2018/12/14