From patchwork Thu Jun 7 07:39:53 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 163528 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 501ABB6FE0 for ; Thu, 7 Jun 2012 18:45:03 +1000 (EST) Received: from localhost ([::1]:41693 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ScYKz-00005v-76 for incoming@patchwork.ozlabs.org; Thu, 07 Jun 2012 04:45:01 -0400 Received: from eggs.gnu.org ([208.118.235.92]:59140) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ScXLN-0006aX-By for qemu-devel@nongnu.org; Thu, 07 Jun 2012 03:41:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ScXLG-0005x1-KJ for qemu-devel@nongnu.org; Thu, 07 Jun 2012 03:41:20 -0400 Received: from mail-pz0-f45.google.com ([209.85.210.45]:45957) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ScXLG-0005e1-BC for qemu-devel@nongnu.org; Thu, 07 Jun 2012 03:41:14 -0400 Received: by mail-pz0-f45.google.com with SMTP id v2so544822dad.4 for ; Thu, 07 Jun 2012 00:41:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references; bh=urDBPPYJrzAEcobReucVyLnF3JSxrk9eK53A+3oeokI=; b=giJoXhadURMow9c4pIhN49NNvXsTuV7S38yXrY88WtGqeeLjbt3Ls8CE+zQV7b53wg xuc76cmGioBr6TXpk0ZI7iT402PdJ5oLVGumPHUZ2/qp+e3WBFOHijGcV+tq1+uggy6b Q2VsaN8j1VFvgxQ5LoRodyr7YiiFCMu2dQmD4K4KsUSatw1mMMD5KIzBQvcCUMa5sQ+j nW/IuttJqEGUfltfC0LAEsobLBw8Zgcv3N72ZxfjIc9G2FEBizW+OuKGE6NftS3ynCT8 4zzzuEq3VELFTwWpF4qHfwt2n+g0GF7HnE6aaAIMnlrl2cBE5AxacH6deNuSbLKKT5sV 1Nww== Received: by 10.68.219.226 with SMTP id pr2mr7245480pbc.1.1339054873155; Thu, 07 Jun 2012 00:41:13 -0700 (PDT) Received: from yakj.usersys.redhat.com.usersys.redhat.com (p40081-ipngn402hodogaya.kanagawa.ocn.ne.jp. [180.23.161.81]) by mx.google.com with ESMTPS id oo6sm3232781pbc.22.2012.06.07.00.41.09 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 07 Jun 2012 00:41:11 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Thu, 7 Jun 2012 09:39:53 +0200 Message-Id: <1339054814-20939-9-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.7.10.1 In-Reply-To: <1339054814-20939-1-git-send-email-pbonzini@redhat.com> References: <1339054814-20939-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.210.45 Cc: anthony@codemonkey.ws Subject: [Qemu-devel] [PATCH v3 08/29] dump: change cpu_get_note_size to return ssize_t X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org So that it can use the same prototype in both cases. Check for failure. Cc: Wen Congyang Signed-off-by: Paolo Bonzini --- cpu-all.h | 4 ++-- dump.c | 9 +++++++-- target-i386/arch_dump.c | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/cpu-all.h b/cpu-all.h index e8749de..624030d 100644 --- 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 0ca14f8..b24d4be 100644 --- 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) + diff --git a/target-i386/arch_dump.c b/target-i386/arch_dump.c index 135d855..7c2b514 100644 --- a/target-i386/arch_dump.c +++ b/target-i386/arch_dump.c @@ -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;