From patchwork Wed Mar 16 10:46:44 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 8599211 Return-Path: X-Original-To: patchwork-qemu-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 0604F9F3D1 for ; Wed, 16 Mar 2016 11:52:09 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 1AB7B202A1 for ; Wed, 16 Mar 2016 11:52:08 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 12BD420259 for ; Wed, 16 Mar 2016 11:52:07 +0000 (UTC) Received: from localhost ([::1]:55040 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ag9CY-0004fa-S4 for patchwork-qemu-devel@patchwork.kernel.org; Wed, 16 Mar 2016 07:01:18 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37221) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ag8zP-0003bn-V7 for qemu-devel@nongnu.org; Wed, 16 Mar 2016 06:47:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ag8zM-0002Fc-Ry for qemu-devel@nongnu.org; Wed, 16 Mar 2016 06:47:43 -0400 Received: from mail-wm0-x22f.google.com ([2a00:1450:400c:c09::22f]:36143) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ag8zM-0002Ed-G3 for qemu-devel@nongnu.org; Wed, 16 Mar 2016 06:47:40 -0400 Received: by mail-wm0-x22f.google.com with SMTP id l124so43290520wmf.1 for ; Wed, 16 Mar 2016 03:47:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=xIEWKzaPN0RIladQnNqvOzCh6CPdBdAyfhaDsyzanL4=; b=bWLrEOspLM3OyJwCsp5c0IqWI2xeYCAzS7IfIIClPv2lUPvWGKItGz1lEXbJN4s+7c R+qAXf5hWt6onaaslPrLipSqBN8AD9HoId/71eNLa1C7JBF11xahQ0oUfv+VS4n2yvx3 7QetWLsvt2XVYeYk6GmpfxPmZpG2kVhKRyoRUm7qa7KeYKdzdpbP2oDXE+uQphOVJ87n dNdhTVSNvtXMJOVZ+25XmbUgHpQH6KzSLbOMn4clfJuRqFHuMKqjpW5FNaTbyqjnH4S9 LzoPRwmapYWSpfLZXSk78uJzu79ggB0QK6JyyXOyLt+AU5+Sbgol7IbaHy9NUK4SRqbj 2/HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=xIEWKzaPN0RIladQnNqvOzCh6CPdBdAyfhaDsyzanL4=; b=XKxe303UAf8jrKjv9DK1YBXrQjZL0hLbXQAwYkQ1plsxQkKKRtMke9WceF0FOFQ1LR 0QFoEZ2HNOEvD2Wol+uNSY1INiMjcumB5Y613wrWrdJGK2LOTwDhiNcAhK+szrWOnOCS OPxmjoMSyTosWs6ME3GkHI2ncG2Sg9+TIXZ5upGb1S8dlpumZ374/dyVcwXtLQwxWMZE oMU3q9FpXj5LxEczA06WLlCHFoUgRGaxmh+icISbnzDPb1dF0yaYY/jL8cmtq+j5LRRW wyHejrXvOj0zFgkyjw8W8lHBKFzNsTmonRhWYR25jsUr/QqmvS7u1znoIFRTAJkEjNME VpUQ== X-Gm-Message-State: AD7BkJLwdFr5YDVdfFPYd+9HF+yrnDqRxNi+b0+KoK1zLkGEIOK1SG9y3IicJVQz00/9+Q== X-Received: by 10.28.195.136 with SMTP id t130mr30618161wmf.27.1458125259845; Wed, 16 Mar 2016 03:47:39 -0700 (PDT) Received: from 640k.lan (94-39-161-17.adsl-ull.clienti.tiscali.it. [94.39.161.17]) by smtp.gmail.com with ESMTPSA id wr2sm2418094wjc.49.2016.03.16.03.47.38 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 16 Mar 2016 03:47:39 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Wed, 16 Mar 2016 11:46:44 +0100 Message-Id: <1458125219-131698-35-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1458125219-131698-1-git-send-email-pbonzini@redhat.com> References: <1458125219-131698-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::22f Subject: [Qemu-devel] [PATCH 34/49] hw: move CPU state serialization to migration/cpu.h 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Remove usage of NEED_CPU_H from hw/hw.h. Signed-off-by: Paolo Bonzini --- include/hw/hw.h | 49 ----------------------------------------------- include/migration/cpu.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++ target-alpha/machine.c | 1 + target-arm/machine.c | 1 + target-cris/machine.c | 1 + target-i386/machine.c | 1 + target-lm32/machine.c | 1 + target-mips/machine.c | 2 +- target-moxie/machine.c | 1 + target-openrisc/machine.c | 1 + target-ppc/machine.c | 1 + target-sparc/machine.c | 1 + 12 files changed, 58 insertions(+), 50 deletions(-) create mode 100644 include/migration/cpu.h diff --git a/include/hw/hw.h b/include/hw/hw.h index 2cb69d5..0456fc3 100644 --- a/include/hw/hw.h +++ b/include/hw/hw.h @@ -14,28 +14,6 @@ #include "qemu/log.h" #include "qemu/module.h" -#ifdef NEED_CPU_H -#if TARGET_LONG_BITS == 64 -#define qemu_put_betl qemu_put_be64 -#define qemu_get_betl qemu_get_be64 -#define qemu_put_betls qemu_put_be64s -#define qemu_get_betls qemu_get_be64s -#define qemu_put_sbetl qemu_put_sbe64 -#define qemu_get_sbetl qemu_get_sbe64 -#define qemu_put_sbetls qemu_put_sbe64s -#define qemu_get_sbetls qemu_get_sbe64s -#else -#define qemu_put_betl qemu_put_be32 -#define qemu_get_betl qemu_get_be32 -#define qemu_put_betls qemu_put_be32s -#define qemu_get_betls qemu_get_be32s -#define qemu_put_sbetl qemu_put_sbe32 -#define qemu_get_sbetl qemu_get_sbe32 -#define qemu_put_sbetls qemu_put_sbe32s -#define qemu_get_sbetls qemu_get_sbe32s -#endif -#endif - typedef void QEMUResetHandler(void *opaque); void qemu_register_reset(QEMUResetHandler *func, void *opaque); @@ -43,31 +21,4 @@ void qemu_unregister_reset(QEMUResetHandler *func, void *opaque); void QEMU_NORETURN hw_error(const char *fmt, ...) GCC_FMT_ATTR(1, 2); -#ifdef NEED_CPU_H -#if TARGET_LONG_BITS == 64 -#define VMSTATE_UINTTL_V(_f, _s, _v) \ - VMSTATE_UINT64_V(_f, _s, _v) -#define VMSTATE_UINTTL_EQUAL_V(_f, _s, _v) \ - VMSTATE_UINT64_EQUAL_V(_f, _s, _v) -#define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \ - VMSTATE_UINT64_ARRAY_V(_f, _s, _n, _v) -#define vmstate_info_uinttl vmstate_info_uint64 -#else -#define VMSTATE_UINTTL_V(_f, _s, _v) \ - VMSTATE_UINT32_V(_f, _s, _v) -#define VMSTATE_UINTTL_EQUAL_V(_f, _s, _v) \ - VMSTATE_UINT32_EQUAL_V(_f, _s, _v) -#define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \ - VMSTATE_UINT32_ARRAY_V(_f, _s, _n, _v) -#define vmstate_info_uinttl vmstate_info_uint32 -#endif -#define VMSTATE_UINTTL(_f, _s) \ - VMSTATE_UINTTL_V(_f, _s, 0) -#define VMSTATE_UINTTL_EQUAL(_f, _s) \ - VMSTATE_UINTTL_EQUAL_V(_f, _s, 0) -#define VMSTATE_UINTTL_ARRAY(_f, _s, _n) \ - VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, 0) - -#endif - #endif diff --git a/include/migration/cpu.h b/include/migration/cpu.h new file mode 100644 index 0000000..f3abbab --- /dev/null +++ b/include/migration/cpu.h @@ -0,0 +1,48 @@ +/* Declarations for use for CPU state serialization. */ +#ifndef MIGRATION_CPU_H +#define MIGRATION_CPU_H + +#if TARGET_LONG_BITS == 64 +#define qemu_put_betl qemu_put_be64 +#define qemu_get_betl qemu_get_be64 +#define qemu_put_betls qemu_put_be64s +#define qemu_get_betls qemu_get_be64s +#define qemu_put_sbetl qemu_put_sbe64 +#define qemu_get_sbetl qemu_get_sbe64 +#define qemu_put_sbetls qemu_put_sbe64s +#define qemu_get_sbetls qemu_get_sbe64s + +#define VMSTATE_UINTTL_V(_f, _s, _v) \ + VMSTATE_UINT64_V(_f, _s, _v) +#define VMSTATE_UINTTL_EQUAL_V(_f, _s, _v) \ + VMSTATE_UINT64_EQUAL_V(_f, _s, _v) +#define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \ + VMSTATE_UINT64_ARRAY_V(_f, _s, _n, _v) +#define vmstate_info_uinttl vmstate_info_uint64 +#else +#define qemu_put_betl qemu_put_be32 +#define qemu_get_betl qemu_get_be32 +#define qemu_put_betls qemu_put_be32s +#define qemu_get_betls qemu_get_be32s +#define qemu_put_sbetl qemu_put_sbe32 +#define qemu_get_sbetl qemu_get_sbe32 +#define qemu_put_sbetls qemu_put_sbe32s +#define qemu_get_sbetls qemu_get_sbe32s + +#define VMSTATE_UINTTL_V(_f, _s, _v) \ + VMSTATE_UINT32_V(_f, _s, _v) +#define VMSTATE_UINTTL_EQUAL_V(_f, _s, _v) \ + VMSTATE_UINT32_EQUAL_V(_f, _s, _v) +#define VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, _v) \ + VMSTATE_UINT32_ARRAY_V(_f, _s, _n, _v) +#define vmstate_info_uinttl vmstate_info_uint32 +#endif + +#define VMSTATE_UINTTL(_f, _s) \ + VMSTATE_UINTTL_V(_f, _s, 0) +#define VMSTATE_UINTTL_EQUAL(_f, _s) \ + VMSTATE_UINTTL_EQUAL_V(_f, _s, 0) +#define VMSTATE_UINTTL_ARRAY(_f, _s, _n) \ + VMSTATE_UINTTL_ARRAY_V(_f, _s, _n, 0) + +#endif diff --git a/target-alpha/machine.c b/target-alpha/machine.c index 9ab0928..3f72943 100644 --- a/target-alpha/machine.c +++ b/target-alpha/machine.c @@ -1,6 +1,7 @@ #include "qemu/osdep.h" #include "hw/hw.h" #include "hw/boards.h" +#include "migration/cpu.h" static int get_fpcr(QEMUFile *f, void *opaque, size_t size) { diff --git a/target-arm/machine.c b/target-arm/machine.c index 03a73d9..c23feb1 100644 --- a/target-arm/machine.c +++ b/target-arm/machine.c @@ -5,6 +5,7 @@ #include "sysemu/kvm.h" #include "kvm_arm.h" #include "internals.h" +#include "migration/cpu.h" static bool vfp_needed(void *opaque) { diff --git a/target-cris/machine.c b/target-cris/machine.c index 9cc2820..4c9287f 100644 --- a/target-cris/machine.c +++ b/target-cris/machine.c @@ -20,6 +20,7 @@ #include "qemu/osdep.h" #include "hw/hw.h" +#include "migration/cpu.h" static const VMStateDescription vmstate_tlbset = { .name = "cpu/tlbset", diff --git a/target-i386/machine.c b/target-i386/machine.c index ee5b949..57203b2 100644 --- a/target-i386/machine.c +++ b/target-i386/machine.c @@ -3,6 +3,7 @@ #include "hw/boards.h" #include "hw/i386/pc.h" #include "hw/isa/isa.h" +#include "migration/cpu.h" #include "cpu.h" #include "sysemu/kvm.h" diff --git a/target-lm32/machine.c b/target-lm32/machine.c index 91c943d..6f56216 100644 --- a/target-lm32/machine.c +++ b/target-lm32/machine.c @@ -1,6 +1,7 @@ #include "qemu/osdep.h" #include "hw/hw.h" #include "hw/boards.h" +#include "migration/cpu.h" static const VMStateDescription vmstate_env = { .name = "env", diff --git a/target-mips/machine.c b/target-mips/machine.c index 737f3c2..e7b2cf9 100644 --- a/target-mips/machine.c +++ b/target-mips/machine.c @@ -1,7 +1,7 @@ #include "qemu/osdep.h" #include "hw/hw.h" - #include "cpu.h" +#include "migration/cpu.h" static int cpu_post_load(void *opaque, int version_id) { diff --git a/target-moxie/machine.c b/target-moxie/machine.c index 912b791..7810e1c 100644 --- a/target-moxie/machine.c +++ b/target-moxie/machine.c @@ -2,6 +2,7 @@ #include "hw/hw.h" #include "hw/boards.h" #include "machine.h" +#include "migration/cpu.h" const VMStateDescription vmstate_moxie_cpu = { .name = "cpu", diff --git a/target-openrisc/machine.c b/target-openrisc/machine.c index b4dc08d..bd5d50f 100644 --- a/target-openrisc/machine.c +++ b/target-openrisc/machine.c @@ -20,6 +20,7 @@ #include "qemu/osdep.h" #include "hw/hw.h" #include "hw/boards.h" +#include "migration/cpu.h" static const VMStateDescription vmstate_env = { .name = "env", diff --git a/target-ppc/machine.c b/target-ppc/machine.c index 692121e..2ea29dd 100644 --- a/target-ppc/machine.c +++ b/target-ppc/machine.c @@ -4,6 +4,7 @@ #include "sysemu/kvm.h" #include "helper_regs.h" #include "mmu-hash64.h" +#include "migration/cpu.h" static int cpu_load_old(QEMUFile *f, void *opaque, int version_id) { diff --git a/target-sparc/machine.c b/target-sparc/machine.c index 1046016..04806f6 100644 --- a/target-sparc/machine.c +++ b/target-sparc/machine.c @@ -4,6 +4,7 @@ #include "qemu/timer.h" #include "cpu.h" +#include "migration/cpu.h" #ifdef TARGET_SPARC64 static const VMStateDescription vmstate_cpu_timer = {