diff mbox series

[13/17] hw/gpio/zaurus.c: Use LOG_GUEST_ERROR for bad guest register accesses

Message ID 20200628142429.17111-14-peter.maydell@linaro.org
State Superseded
Headers show
Series spitz: fix hacks, fix CID 1421913, various cleanups | expand

Commit Message

Peter Maydell June 28, 2020, 2:24 p.m. UTC
Instead of logging guest accesses to invalid register offsets in this
device using zaurus_printf() (which just prints to stderr), use the
usual qemu_log_mask(LOG_GUEST_ERROR,...).

Since this was the only use of the zaurus_printf() macro outside
spitz.c, we can move the definition of that macro from sharpsl.h
to spitz.c.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

---
 include/hw/arm/sharpsl.h |  3 ---
 hw/arm/spitz.c           |  3 +++
 hw/gpio/zaurus.c         | 12 +++++++-----
 3 files changed, 10 insertions(+), 8 deletions(-)

-- 
2.20.1

Comments

Philippe Mathieu-Daudé June 29, 2020, 9:13 a.m. UTC | #1
On 6/28/20 4:24 PM, Peter Maydell wrote:
> Instead of logging guest accesses to invalid register offsets in this

> device using zaurus_printf() (which just prints to stderr), use the

> usual qemu_log_mask(LOG_GUEST_ERROR,...).

> 

> Since this was the only use of the zaurus_printf() macro outside

> spitz.c, we can move the definition of that macro from sharpsl.h

> to spitz.c.

> 

> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


> ---

>  include/hw/arm/sharpsl.h |  3 ---

>  hw/arm/spitz.c           |  3 +++

>  hw/gpio/zaurus.c         | 12 +++++++-----

>  3 files changed, 10 insertions(+), 8 deletions(-)

> 

> diff --git a/include/hw/arm/sharpsl.h b/include/hw/arm/sharpsl.h

> index 89e168fbff3..e986b28c527 100644

> --- a/include/hw/arm/sharpsl.h

> +++ b/include/hw/arm/sharpsl.h

> @@ -9,9 +9,6 @@

>  

>  #include "exec/hwaddr.h"

>  

> -#define zaurus_printf(format, ...)	\

> -    fprintf(stderr, "%s: " format, __func__, ##__VA_ARGS__)

> -

>  /* zaurus.c */

>  

>  #define SL_PXA_PARAM_BASE	0xa0000a00

> diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c

> index bab9968ccee..6eb46869157 100644

> --- a/hw/arm/spitz.c

> +++ b/hw/arm/spitz.c

> @@ -62,6 +62,9 @@ typedef struct {

>  #define SPITZ_MACHINE_CLASS(klass) \

>      OBJECT_CLASS_CHECK(SpitzMachineClass, klass, TYPE_SPITZ_MACHINE)

>  

> +#define zaurus_printf(format, ...)                              \

> +    fprintf(stderr, "%s: " format, __func__, ##__VA_ARGS__)

> +

>  #undef REG_FMT

>  #define REG_FMT                         "0x%02lx"

>  

> diff --git a/hw/gpio/zaurus.c b/hw/gpio/zaurus.c

> index 9a12c683420..258e9264930 100644

> --- a/hw/gpio/zaurus.c

> +++ b/hw/gpio/zaurus.c

> @@ -22,9 +22,7 @@

>  #include "hw/sysbus.h"

>  #include "migration/vmstate.h"

>  #include "qemu/module.h"

> -

> -#undef REG_FMT

> -#define REG_FMT			"0x%02lx"

> +#include "qemu/log.h"

>  

>  /* SCOOP devices */

>  

> @@ -104,7 +102,9 @@ static uint64_t scoop_read(void *opaque, hwaddr addr,

>      case SCOOP_GPRR:

>          return s->gpio_level;

>      default:

> -        zaurus_printf("Bad register offset " REG_FMT "\n", (unsigned long)addr);

> +        qemu_log_mask(LOG_GUEST_ERROR,

> +                      "scoop_read: bad register offset 0x%02" HWADDR_PRIx "\n",

> +                      addr);

>      }

>  

>      return 0;

> @@ -150,7 +150,9 @@ static void scoop_write(void *opaque, hwaddr addr,

>          scoop_gpio_handler_update(s);

>          break;

>      default:

> -        zaurus_printf("Bad register offset " REG_FMT "\n", (unsigned long)addr);

> +        qemu_log_mask(LOG_GUEST_ERROR,

> +                      "scoop_write: bad register offset 0x%02" HWADDR_PRIx "\n",

> +                      addr);

>      }

>  }

>  

>
Alistair Francis July 1, 2020, 12:38 a.m. UTC | #2
On Sun, Jun 28, 2020 at 7:35 AM Peter Maydell <peter.maydell@linaro.org> wrote:
>

> Instead of logging guest accesses to invalid register offsets in this

> device using zaurus_printf() (which just prints to stderr), use the

> usual qemu_log_mask(LOG_GUEST_ERROR,...).

>

> Since this was the only use of the zaurus_printf() macro outside

> spitz.c, we can move the definition of that macro from sharpsl.h

> to spitz.c.

>

> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Reviewed-by: Alistair Francis <alistair.francis@wdc.com>


Alistair

> ---

>  include/hw/arm/sharpsl.h |  3 ---

>  hw/arm/spitz.c           |  3 +++

>  hw/gpio/zaurus.c         | 12 +++++++-----

>  3 files changed, 10 insertions(+), 8 deletions(-)

>

> diff --git a/include/hw/arm/sharpsl.h b/include/hw/arm/sharpsl.h

> index 89e168fbff3..e986b28c527 100644

> --- a/include/hw/arm/sharpsl.h

> +++ b/include/hw/arm/sharpsl.h

> @@ -9,9 +9,6 @@

>

>  #include "exec/hwaddr.h"

>

> -#define zaurus_printf(format, ...)     \

> -    fprintf(stderr, "%s: " format, __func__, ##__VA_ARGS__)

> -

>  /* zaurus.c */

>

>  #define SL_PXA_PARAM_BASE      0xa0000a00

> diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c

> index bab9968ccee..6eb46869157 100644

> --- a/hw/arm/spitz.c

> +++ b/hw/arm/spitz.c

> @@ -62,6 +62,9 @@ typedef struct {

>  #define SPITZ_MACHINE_CLASS(klass) \

>      OBJECT_CLASS_CHECK(SpitzMachineClass, klass, TYPE_SPITZ_MACHINE)

>

> +#define zaurus_printf(format, ...)                              \

> +    fprintf(stderr, "%s: " format, __func__, ##__VA_ARGS__)

> +

>  #undef REG_FMT

>  #define REG_FMT                         "0x%02lx"

>

> diff --git a/hw/gpio/zaurus.c b/hw/gpio/zaurus.c

> index 9a12c683420..258e9264930 100644

> --- a/hw/gpio/zaurus.c

> +++ b/hw/gpio/zaurus.c

> @@ -22,9 +22,7 @@

>  #include "hw/sysbus.h"

>  #include "migration/vmstate.h"

>  #include "qemu/module.h"

> -

> -#undef REG_FMT

> -#define REG_FMT                        "0x%02lx"

> +#include "qemu/log.h"

>

>  /* SCOOP devices */

>

> @@ -104,7 +102,9 @@ static uint64_t scoop_read(void *opaque, hwaddr addr,

>      case SCOOP_GPRR:

>          return s->gpio_level;

>      default:

> -        zaurus_printf("Bad register offset " REG_FMT "\n", (unsigned long)addr);

> +        qemu_log_mask(LOG_GUEST_ERROR,

> +                      "scoop_read: bad register offset 0x%02" HWADDR_PRIx "\n",

> +                      addr);

>      }

>

>      return 0;

> @@ -150,7 +150,9 @@ static void scoop_write(void *opaque, hwaddr addr,

>          scoop_gpio_handler_update(s);

>          break;

>      default:

> -        zaurus_printf("Bad register offset " REG_FMT "\n", (unsigned long)addr);

> +        qemu_log_mask(LOG_GUEST_ERROR,

> +                      "scoop_write: bad register offset 0x%02" HWADDR_PRIx "\n",

> +                      addr);

>      }

>  }

>

> --

> 2.20.1

>

>
diff mbox series

Patch

diff --git a/include/hw/arm/sharpsl.h b/include/hw/arm/sharpsl.h
index 89e168fbff3..e986b28c527 100644
--- a/include/hw/arm/sharpsl.h
+++ b/include/hw/arm/sharpsl.h
@@ -9,9 +9,6 @@ 
 
 #include "exec/hwaddr.h"
 
-#define zaurus_printf(format, ...)	\
-    fprintf(stderr, "%s: " format, __func__, ##__VA_ARGS__)
-
 /* zaurus.c */
 
 #define SL_PXA_PARAM_BASE	0xa0000a00
diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c
index bab9968ccee..6eb46869157 100644
--- a/hw/arm/spitz.c
+++ b/hw/arm/spitz.c
@@ -62,6 +62,9 @@  typedef struct {
 #define SPITZ_MACHINE_CLASS(klass) \
     OBJECT_CLASS_CHECK(SpitzMachineClass, klass, TYPE_SPITZ_MACHINE)
 
+#define zaurus_printf(format, ...)                              \
+    fprintf(stderr, "%s: " format, __func__, ##__VA_ARGS__)
+
 #undef REG_FMT
 #define REG_FMT                         "0x%02lx"
 
diff --git a/hw/gpio/zaurus.c b/hw/gpio/zaurus.c
index 9a12c683420..258e9264930 100644
--- a/hw/gpio/zaurus.c
+++ b/hw/gpio/zaurus.c
@@ -22,9 +22,7 @@ 
 #include "hw/sysbus.h"
 #include "migration/vmstate.h"
 #include "qemu/module.h"
-
-#undef REG_FMT
-#define REG_FMT			"0x%02lx"
+#include "qemu/log.h"
 
 /* SCOOP devices */
 
@@ -104,7 +102,9 @@  static uint64_t scoop_read(void *opaque, hwaddr addr,
     case SCOOP_GPRR:
         return s->gpio_level;
     default:
-        zaurus_printf("Bad register offset " REG_FMT "\n", (unsigned long)addr);
+        qemu_log_mask(LOG_GUEST_ERROR,
+                      "scoop_read: bad register offset 0x%02" HWADDR_PRIx "\n",
+                      addr);
     }
 
     return 0;
@@ -150,7 +150,9 @@  static void scoop_write(void *opaque, hwaddr addr,
         scoop_gpio_handler_update(s);
         break;
     default:
-        zaurus_printf("Bad register offset " REG_FMT "\n", (unsigned long)addr);
+        qemu_log_mask(LOG_GUEST_ERROR,
+                      "scoop_write: bad register offset 0x%02" HWADDR_PRIx "\n",
+                      addr);
     }
 }