[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v14 07/13] Add debugging infrastructure
From: |
Orit Wasserman |
Subject: |
[Qemu-devel] [PATCH v14 07/13] Add debugging infrastructure |
Date: |
Tue, 3 Jul 2012 16:52:48 +0300 |
Signed-off-by: Orit Wasserman <address@hidden>
---
arch_init.c | 33 +++++++++++++++++++++++++++------
1 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/arch_init.c b/arch_init.c
index 9dafb6e..ee20c33 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -44,6 +44,14 @@
#include "exec-memory.h"
#include "hw/pcspk.h"
+#ifdef DEBUG_ARCH_INIT
+#define DPRINTF(fmt, ...) \
+ do { fprintf(stdout, "arch_init: " fmt, ## __VA_ARGS__); } while (0)
+#else
+#define DPRINTF(fmt, ...) \
+ do { } while (0)
+#endif
+
#ifdef TARGET_SPARC
int graphic_width = 1024;
int graphic_height = 768;
@@ -380,6 +388,9 @@ int ram_save_live(QEMUFile *f, int stage, void *opaque)
expected_time = ram_save_remaining() * TARGET_PAGE_SIZE / bwidth;
+ DPRINTF("ram_save_live: expected(%ld) <= max(%ld)?\n", expected_time,
+ migrate_max_downtime());
+
return (stage == 2) && (expected_time <= migrate_max_downtime());
}
@@ -416,8 +427,11 @@ static inline void *host_from_stream_offset(QEMUFile *f,
int ram_load(QEMUFile *f, void *opaque, int version_id)
{
ram_addr_t addr;
- int flags;
+ int flags, ret = 0;
int error;
+ static uint64_t seq_iter;
+
+ seq_iter++;
if (version_id < 4 || version_id > 4) {
return -EINVAL;
@@ -447,8 +461,10 @@ int ram_load(QEMUFile *f, void *opaque, int version_id)
QLIST_FOREACH(block, &ram_list.blocks, next) {
if (!strncmp(id, block->idstr, sizeof(id))) {
- if (block->length != length)
- return -EINVAL;
+ if (block->length != length) {
+ ret = -EINVAL;
+ goto done;
+ }
break;
}
}
@@ -456,7 +472,8 @@ int ram_load(QEMUFile *f, void *opaque, int version_id)
if (!block) {
fprintf(stderr, "Unknown ramblock \"%s\", cannot "
"accept migration\n", id);
- return -EINVAL;
+ ret = -EINVAL;
+ goto done;
}
total_ram_bytes -= length;
@@ -490,11 +507,15 @@ int ram_load(QEMUFile *f, void *opaque, int version_id)
}
error = qemu_file_get_error(f);
if (error) {
- return error;
+ ret = error;
+ goto done;
}
} while (!(flags & RAM_SAVE_FLAG_EOS));
- return 0;
+done:
+ DPRINTF("Completed load of VM with exit code %d seq iteration %ld\n",
+ ret, seq_iter);
+ return ret;
}
#ifdef HAS_AUDIO
--
1.7.7.6
- [Qemu-devel] [PATCH v14 00/13] XBZRLE delta for live migration of large memory app, Orit Wasserman, 2012/07/03
- [Qemu-devel] [PATCH v14 03/13] Add XBZRLE documentation, Orit Wasserman, 2012/07/03
- [Qemu-devel] [PATCH v14 07/13] Add debugging infrastructure,
Orit Wasserman <=
- [Qemu-devel] [PATCH v14 06/13] Add save_block_hdr function, Orit Wasserman, 2012/07/03
- [Qemu-devel] [PATCH v14 01/13] Add MigrationParams structure, Orit Wasserman, 2012/07/03
- [Qemu-devel] [PATCH v14 08/13] Change ram_save_block to return -1 if there are no more changes, Orit Wasserman, 2012/07/03
- [Qemu-devel] [PATCH v14 04/13] Add cache handling functions, Orit Wasserman, 2012/07/03
- Re: [Qemu-devel] [PATCH v14 04/13] Add cache handling functions, Eric Blake, 2012/07/03