Message ID | 1421334118-3287-3-git-send-email-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
Peter Maydell <peter.maydell@linaro.org> writes: > 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: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> > --- > monitor.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/monitor.c b/monitor.c > index 1808e41..7e4f605 100644 > --- a/monitor.c > +++ b/monitor.c > @@ -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, " ");
diff --git a/monitor.c b/monitor.c index 1808e41..7e4f605 100644 --- a/monitor.c +++ b/monitor.c @@ -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, " ");
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: Peter Maydell <peter.maydell@linaro.org> --- monitor.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)