]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/qemu-xen.git/commitdiff
dump: change cpu_get_note_size to return ssize_t
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 7 Jun 2012 06:48:09 +0000 (08:48 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 7 Jun 2012 07:19:31 +0000 (09:19 +0200)
So that it can use the same prototype in both cases.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
cpu-all.h
dump.c
target-i386/arch_dump.c

index e8749de2b9b3f46a06b93b238676d637f6d9acde..624030d6cc51583eef4e973ca0451026c973c261 100644 (file)
--- a/cpu-all.h
+++ b/cpu-all.h
@@ -552,7 +552,7 @@ int cpu_write_elf64_qemunote(write_core_dump_function f, CPUArchState *env,
 int cpu_write_elf32_qemunote(write_core_dump_function f, CPUArchState *env,
                              void *opaque);
 int cpu_get_dump_info(ArchDumpInfo *info);
-size_t cpu_get_note_size(int class, int machine, int nr_cpus);
+ssize_t cpu_get_note_size(int class, int machine, int nr_cpus);
 #else
 static inline int cpu_write_elf64_note(write_core_dump_function f,
                                        CPUArchState *env, int cpuid,
@@ -587,7 +587,7 @@ static inline int cpu_get_dump_info(ArchDumpInfo *info)
     return -1;
 }
 
-static inline int cpu_get_note_size(int class, int machine, int nr_cpus)
+static inline ssize_t cpu_get_note_size(int class, int machine, int nr_cpus)
 {
     return -1;
 }
diff --git a/dump.c b/dump.c
index 0ca14f87edb4a0a3d747712586a73a9b2a68cf74..b24d4be7a63c71fc7b24214d9ae94f8d40dfd8fa 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -750,6 +750,13 @@ static int dump_init(DumpState *s, int fd, bool paging, bool has_filter,
         goto cleanup;
     }
 
+    s->note_size = cpu_get_note_size(s->dump_info.d_class,
+                                     s->dump_info.d_machine, nr_cpus);
+    if (ret < 0) {
+        error_set(errp, QERR_UNSUPPORTED);
+        goto cleanup;
+    }
+
     /* get memory mapping */
     memory_mapping_list_init(&s->list);
     if (paging) {
@@ -784,8 +791,6 @@ static int dump_init(DumpState *s, int fd, bool paging, bool has_filter,
         }
     }
 
-    s->note_size = cpu_get_note_size(s->dump_info.d_class,
-                                     s->dump_info.d_machine, nr_cpus);
     if (s->dump_info.d_class == ELFCLASS64) {
         if (s->have_section) {
             s->memory_offset = sizeof(Elf64_Ehdr) +
index 135d855c4adb574ca02c19e75cd8908f19f27c91..7c2b514383f6b9d697da0501ff3a714b5cf95345 100644 (file)
@@ -415,7 +415,7 @@ int cpu_get_dump_info(ArchDumpInfo *info)
     return 0;
 }
 
-size_t cpu_get_note_size(int class, int machine, int nr_cpus)
+ssize_t cpu_get_note_size(int class, int machine, int nr_cpus)
 {
     int name_size = 5; /* "CORE" or "QEMU" */
     size_t elf_note_size = 0;