diff mbox

[02/15] monitor.c: Use ld*_p() instead of ld*_raw()

Message ID 1421334118-3287-3-git-send-email-peter.maydell@linaro.org
State Superseded
Headers show

Commit Message

Peter Maydell Jan. 15, 2015, 3:01 p.m. UTC
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(-)

Comments

Alex Bennée Jan. 15, 2015, 3:54 p.m. UTC | #1
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 mbox

Patch

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, " ");