提交 24e60305 编写于 作者: P Peter Maydell

monitor.c: Use ld*_p() instead of ld*_raw()

The monitor code for doing a memory_dump() was using ld*_raw() to do
target-CPU accesses out of a local buf[] array. The correct functions
for this purpose are ld*_p(), which take a host pointer, rather than
ld*_raw(), which take an integer representing a guest address and
are somewhat meaningless in softmmu configurations. Nobody noticed
because for softmmu the _raw functions are the same as ldl_p but
with some extra casts thrown in. Switch to using the correct functions
instead.
Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
Reviewed-by: NRichard Henderson <rth@twiddle.net>
Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
Reviewed-by: NAlex Bennée <alex.bennee@linaro.org>
Message-id: 1421334118-3287-3-git-send-email-peter.maydell@linaro.org
上级 0c021c1f
......@@ -1292,16 +1292,16 @@ static void memory_dump(Monitor *mon, int count, int format, int wsize,
switch(wsize) {
default:
case 1:
v = ldub_raw(buf + i);
v = ldub_p(buf + i);
break;
case 2:
v = lduw_raw(buf + i);
v = lduw_p(buf + i);
break;
case 4:
v = (uint32_t)ldl_raw(buf + i);
v = (uint32_t)ldl_p(buf + i);
break;
case 8:
v = ldq_raw(buf + i);
v = ldq_p(buf + i);
break;
}
monitor_printf(mon, " ");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册