From patchwork Fri Apr 8 20:28:54 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 8785991 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 6B5619F659 for ; Fri, 8 Apr 2016 20:47:17 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 74A9B202E9 for ; Fri, 8 Apr 2016 20:47:16 +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 75131202B8 for ; Fri, 8 Apr 2016 20:47:15 +0000 (UTC) Received: from localhost ([::1]:58199 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aodJC-0006FB-ON for patchwork-qemu-devel@patchwork.kernel.org; Fri, 08 Apr 2016 16:47:14 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40004) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aod2M-0004WE-2v for qemu-devel@nongnu.org; Fri, 08 Apr 2016 16:29:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aod2K-00029R-Kg for qemu-devel@nongnu.org; Fri, 08 Apr 2016 16:29:50 -0400 Received: from mail-wm0-x241.google.com ([2a00:1450:400c:c09::241]:33105) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aod2K-00029D-Ae for qemu-devel@nongnu.org; Fri, 08 Apr 2016 16:29:48 -0400 Received: by mail-wm0-x241.google.com with SMTP id y144so6824123wmd.0 for ; Fri, 08 Apr 2016 13:29:48 -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=RD/4SGt/FCjnLHMOMgZqZAeFzAe9pGQAttMyrUboMKg=; b=IJrTLJ3K6VhBJhWzFxj5hgxeqwHEFxyzilNrVF2fNGNsK1kXWfk4b7zvwQ0/X90de/ 6OUdAhoH4H5nG6PDuqEgYqWdxtN2hjtkA4giA4ZF3tn6A96/cKZV28rUrEofeYD0Wy1u Ph/9EdeFRJYVK89z3L4O/E9viN30ymaEUjIcF4l1kd4neZM6Acv6RiX2NVjx5YZngjsN YNF146csZm1aYGRK3QgWzUZuaRt8G5aKrhoF/1/2wWL6EVf70SfqAt9H9rbkyOw1+yT0 BkTCpULoqsRLx6XEqpDe25b6sxuKQtplGSkdGGi+8JxLLy9DKUSVAP3ykUznF2OuOupK +l+w== 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=RD/4SGt/FCjnLHMOMgZqZAeFzAe9pGQAttMyrUboMKg=; b=BOtSrbEcv4BUMV0OaLqCluQFTF/1iayY2a5ITJB5rX/n2jVveF0Rs09rIYmyXrudSG Qz4U2xn1LbhbNDUm85SmczsrS4jkzc9wxdMVVfkYyyW9yDSCv9VBSoNaecTP4zzbzvTr fVulSMlvPVjBXQBDwxpaP059zik3UcGWCWR+QkGtoK6m+gBVwckBk0zMbD8yE/kcPg1T PL39bLEacVhDCNRUhz2v6fpOpm6WrZl+HTZVQyE0p9Uos8C/Sbh2kjS1DMYyymqQLWX3 +lSpMRhrI2gH8bJOUGu6/4h1YMUJISibw5GX2i5UaZoLMwiTk1bBood+LEu3cNB73iRS 9uhA== X-Gm-Message-State: AD7BkJI0ETg7ePBGCWUSClRWzV1DqumWQ7AERb8ACwtcHykCk1m/E4NBKgM6sm8adwNUsA== X-Received: by 10.28.147.8 with SMTP id v8mr5508902wmd.92.1460147387777; Fri, 08 Apr 2016 13:29:47 -0700 (PDT) Received: from 640k.lan (94-39-141-76.adsl-ull.clienti.tiscali.it. [94.39.141.76]) by smtp.gmail.com with ESMTPSA id w10sm3849168wjz.9.2016.04.08.13.29.46 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 08 Apr 2016 13:29:47 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Fri, 8 Apr 2016 22:28:54 +0200 Message-Id: <1460147350-7601-35-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1460147350-7601-1-git-send-email-pbonzini@redhat.com> References: <1460147350-7601-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::241 Subject: [Qemu-devel] [PATCH 34/50] hw: move CPU state serialization to migration/cpu.h X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 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" 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=ham 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 22bca18..eb3d916 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 = {