Patchwork [for-1.6?,v2,19/21] shix: Don't require firmware presence for qtest

login
register
mail settings
Submitter Andreas Färber
Date Aug. 5, 2013, 1:27 p.m.
Message ID <1375709247-10002-20-git-send-email-afaerber@suse.de>
Download mbox | patch
Permalink /patch/264675/
State New
Headers show

Comments

Andreas Färber - Aug. 5, 2013, 1:27 p.m.
Adopt error_report() while at it.

Signed-off-by: Andreas Färber <afaerber@suse.de>
---
 hw/block/tc58128.c | 10 ++++++----
 hw/sh4/shix.c      |  9 +++++----
 2 files changed, 11 insertions(+), 8 deletions(-)
Stefan Hajnoczi - Aug. 6, 2013, 8:05 a.m.
On Mon, Aug 05, 2013 at 03:27:25PM +0200, Andreas Färber wrote:
> Adopt error_report() while at it.
> 
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  hw/block/tc58128.c | 10 ++++++----
>  hw/sh4/shix.c      |  9 +++++----
>  2 files changed, 11 insertions(+), 8 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Aurelien Jarno - Aug. 7, 2013, 10:13 a.m.
On Mon, Aug 05, 2013 at 03:27:25PM +0200, Andreas Färber wrote:
> Adopt error_report() while at it.
> 
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
>  hw/block/tc58128.c | 10 ++++++----
>  hw/sh4/shix.c      |  9 +++++----
>  2 files changed, 11 insertions(+), 8 deletions(-)
> 
> diff --git a/hw/block/tc58128.c b/hw/block/tc58128.c
> index a3929d4..728f1c3 100644
> --- a/hw/block/tc58128.c
> +++ b/hw/block/tc58128.c
> @@ -1,6 +1,8 @@
>  #include "hw/hw.h"
>  #include "hw/sh4/sh.h"
>  #include "hw/loader.h"
> +#include "sysemu/qtest.h"
> +#include "qemu/error-report.h"
>  
>  #define CE1  0x0100
>  #define CE2  0x0200
> @@ -36,10 +38,10 @@ static void init_dev(tc58128_dev * dev, const char *filename)
>  	/* Load flash image skipping the first block */
>  	ret = load_image(filename, dev->flash_contents + 528 * 32);
>  	if (ret < 0) {
> -	    fprintf(stderr, "ret=%d\n", ret);
> -	    fprintf(stderr, "qemu: could not load flash image %s\n",
> -		    filename);
> -	    exit(1);
> +            if (!qtest_enabled()) {
> +                error_report("Could not load flash image %s", filename);
> +                exit(1);
> +            }
>  	} else {
>  	    /* Build first block with number of blocks */
>  	    blocks = (ret + 528 * 32 - 1) / (528 * 32);
> diff --git a/hw/sh4/shix.c b/hw/sh4/shix.c
> index 66cbea4..5ee7af6 100644
> --- a/hw/sh4/shix.c
> +++ b/hw/sh4/shix.c
> @@ -30,9 +30,11 @@
>  #include "hw/hw.h"
>  #include "hw/sh4/sh.h"
>  #include "sysemu/sysemu.h"
> +#include "sysemu/qtest.h"
>  #include "hw/boards.h"
>  #include "hw/loader.h"
>  #include "exec/address-spaces.h"
> +#include "qemu/error-report.h"
>  
>  #define BIOS_FILENAME "shix_bios.bin"
>  #define BIOS_ADDRESS 0xA0000000
> @@ -72,10 +74,9 @@ static void shix_init(QEMUMachineInitArgs *args)
>      if (bios_name == NULL)
>          bios_name = BIOS_FILENAME;
>      ret = load_image_targphys(bios_name, 0, 0x4000);
> -    if (ret < 0) {		/* Check bios size */
> -	fprintf(stderr, "qemu: could not load SHIX bios '%s'\n",
> -		bios_name);
> -	exit(1);
> +    if (ret < 0 && !qtest_enabled()) {
> +        error_report("Could not load SHIX bios '%s'", bios_name);
> +        exit(1);
>      }
>  
>      /* Register peripherals */

Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>

Patch

diff --git a/hw/block/tc58128.c b/hw/block/tc58128.c
index a3929d4..728f1c3 100644
--- a/hw/block/tc58128.c
+++ b/hw/block/tc58128.c
@@ -1,6 +1,8 @@ 
 #include "hw/hw.h"
 #include "hw/sh4/sh.h"
 #include "hw/loader.h"
+#include "sysemu/qtest.h"
+#include "qemu/error-report.h"
 
 #define CE1  0x0100
 #define CE2  0x0200
@@ -36,10 +38,10 @@  static void init_dev(tc58128_dev * dev, const char *filename)
 	/* Load flash image skipping the first block */
 	ret = load_image(filename, dev->flash_contents + 528 * 32);
 	if (ret < 0) {
-	    fprintf(stderr, "ret=%d\n", ret);
-	    fprintf(stderr, "qemu: could not load flash image %s\n",
-		    filename);
-	    exit(1);
+            if (!qtest_enabled()) {
+                error_report("Could not load flash image %s", filename);
+                exit(1);
+            }
 	} else {
 	    /* Build first block with number of blocks */
 	    blocks = (ret + 528 * 32 - 1) / (528 * 32);
diff --git a/hw/sh4/shix.c b/hw/sh4/shix.c
index 66cbea4..5ee7af6 100644
--- a/hw/sh4/shix.c
+++ b/hw/sh4/shix.c
@@ -30,9 +30,11 @@ 
 #include "hw/hw.h"
 #include "hw/sh4/sh.h"
 #include "sysemu/sysemu.h"
+#include "sysemu/qtest.h"
 #include "hw/boards.h"
 #include "hw/loader.h"
 #include "exec/address-spaces.h"
+#include "qemu/error-report.h"
 
 #define BIOS_FILENAME "shix_bios.bin"
 #define BIOS_ADDRESS 0xA0000000
@@ -72,10 +74,9 @@  static void shix_init(QEMUMachineInitArgs *args)
     if (bios_name == NULL)
         bios_name = BIOS_FILENAME;
     ret = load_image_targphys(bios_name, 0, 0x4000);
-    if (ret < 0) {		/* Check bios size */
-	fprintf(stderr, "qemu: could not load SHIX bios '%s'\n",
-		bios_name);
-	exit(1);
+    if (ret < 0 && !qtest_enabled()) {
+        error_report("Could not load SHIX bios '%s'", bios_name);
+        exit(1);
     }
 
     /* Register peripherals */