summary refs log tree commit diff stats
path: root/hw/misc/lm32_sys.c
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2014-02-08 15:57:51 +0000
committerPeter Maydell <peter.maydell@linaro.org>2014-02-08 15:57:51 +0000
commit1f6b12f75f2c22f861d0202374033a7594c91707 (patch)
treed73dab520852a93d373c1349596deefb0795455e /hw/misc/lm32_sys.c
parent3ea3bd62451ac79478b440ad9fe2a4cd69783a1f (diff)
parentf41152bd9d01ab327c19a3828bb7896d67cf0752 (diff)
downloadfocaccia-qemu-1f6b12f75f2c22f861d0202374033a7594c91707.tar.gz
focaccia-qemu-1f6b12f75f2c22f861d0202374033a7594c91707.zip
Merge remote-tracking branch 'remotes/mwalle/tags/lm32-fixes/20140204' into staging
target-lm32: fixes

# gpg: Signature made Tue 04 Feb 2014 18:47:56 GMT using DSA key ID 3F98A378
# gpg: Can't check signature: public key not found

* remotes/mwalle/tags/lm32-fixes/20140204:
  hw/lm32: print error if cpu model is not found
  target-lm32: stop VM on illegal or unknown instruction
  lm32_sys: dump cpu state if test case fails
  lm32_sys: print test result on stderr
  target-lm32: add breakpoint/watchpoint support
  target-lm32: move model features to LM32CPU
  target-lm32: kill cpu_abort() calls
  milkymist-vgafb: swap pixel data in source buffer
  lm32_uart/lm32_juart: use qemu_chr_fe_write_all()
  milkymist-uart: use qemu_chr_fe_write_all() instead of qemu_chr_fe_write()
  tests: lm32: new rule for single test cases
  lm32_sys: increase test case name length limit

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/misc/lm32_sys.c')
-rw-r--r--hw/misc/lm32_sys.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/hw/misc/lm32_sys.c b/hw/misc/lm32_sys.c
index 9bdb78162f..e394f2e63b 100644
--- a/hw/misc/lm32_sys.c
+++ b/hw/misc/lm32_sys.c
@@ -42,7 +42,7 @@ enum {
     R_MAX
 };
 
-#define MAX_TESTNAME_LEN 16
+#define MAX_TESTNAME_LEN 32
 
 #define TYPE_LM32_SYS "lm32-sys"
 #define LM32_SYS(obj) OBJECT_CHECK(LM32SysState, (obj), TYPE_LM32_SYS)
@@ -80,7 +80,11 @@ static void sys_write(void *opaque, hwaddr addr,
     case R_PASSFAIL:
         s->regs[addr] = value;
         testname = (char *)s->testname;
-        qemu_log("TC  %-16s %s\n", testname, (value) ? "FAILED" : "OK");
+        fprintf(stderr, "TC  %-*s %s\n", MAX_TESTNAME_LEN,
+                testname, (value) ? "FAILED" : "OK");
+        if (value) {
+            cpu_dump_state(qemu_get_cpu(0), stderr, fprintf, 0);
+        }
         break;
     case R_TESTNAME:
         s->regs[addr] = value;