From patchwork Mon May 16 15:36:06 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 9104251 Return-Path: X-Original-To: patchwork-qemu-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 2FA6BBF29F for ; Mon, 16 May 2016 15:58:51 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 3A46820173 for ; Mon, 16 May 2016 15:58:50 +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 2EAE720160 for ; Mon, 16 May 2016 15:58:49 +0000 (UTC) Received: from localhost ([::1]:44611 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b2Kuu-0004GS-FV for patchwork-qemu-devel@patchwork.kernel.org; Mon, 16 May 2016 11:58:48 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57905) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b2Ka1-0002QC-Nb for qemu-devel@nongnu.org; Mon, 16 May 2016 11:37:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b2KZr-0006ha-IO for qemu-devel@nongnu.org; Mon, 16 May 2016 11:37:12 -0400 Received: from mail-wm0-x229.google.com ([2a00:1450:400c:c09::229]:35667) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b2KZr-0006hE-21 for qemu-devel@nongnu.org; Mon, 16 May 2016 11:37:03 -0400 Received: by mail-wm0-x229.google.com with SMTP id e201so105782242wme.0 for ; Mon, 16 May 2016 08:37:02 -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=Vz+yqKiO8EM/Dxf9fPL57c8FcbDcf/bPEXLtNTL/kSo=; b=WljpLklAkUCnWT7w88aigWcvlvh6w2dZCi80V0Oy00vBfZq0/Ci3E/oo1QcRVhn691 TO81rtYEnXzawOwkw0E4oZlJPeyid8Z1VVxeLnTaC350QVgJ39gTnqWAOvpMaXAN7j4f r7b95OjQc4XPFuvYTJQ4Xg2dpycYkx/CfwTYgPVwSIsv2O83i9Eq4b6/bRIe3D4/mc5W 0fsZmmE9xdWn+A8vtHjCebK/tLI4thrB/lBdLoT04dqIS4a9fE8JK6gpyoWK3in3cCkP 4tdDxKgEo6iOYVdMeCZVHcPR7Lr7r8wwzJzlulHJ3g7pwRiV+qDsXyVPK5rYJT5xoZVj 6RGg== 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=Vz+yqKiO8EM/Dxf9fPL57c8FcbDcf/bPEXLtNTL/kSo=; b=h0MydeKsOLSUhvaITkVx8XnQfDUjNnGr7jjzPTPySS4zTosMtdlx3bhWH9T7faD79k v7gfLQsgToBedl2x1w04ATACinnSbP5iUlpHDYJZJwJLu29NOtUQxgr4yeOZBBoPgSDO xfEuWFwpUu2PHA6Sg7rUqTcAPSAXkpjbRsBlLr47OOvf2z6JHKO9cNceGoVB8WI/Q4FY dVkU7NL/cXRgvR33XgmhT69FbKTh2mOom9QQx/Zk21K+23KV7oJSQVBb/z9h33RgRx8b 4zYDrV/MxHE4ZMmCJmgNgcqwmiVj4kx9/9qySD/JKFwdRcTbHIVmr/flpI/kViSFyJmk WbYA== X-Gm-Message-State: AOPr4FXLMvKGj/d5nYhz9pHDW+sn9m/i2zpOUzDJZVy4UdLRIiKXa9J6vD+6NOwwtU6aqg== X-Received: by 10.28.135.135 with SMTP id j129mr19335238wmd.101.1463413022399; Mon, 16 May 2016 08:37:02 -0700 (PDT) Received: from 640k.lan (dynamic-adsl-78-12-252-58.clienti.tiscali.it. [78.12.252.58]) by smtp.gmail.com with ESMTPSA id lf9sm34386875wjc.44.2016.05.16.08.37.01 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 16 May 2016 08:37:01 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Mon, 16 May 2016 17:36:06 +0200 Message-Id: <1463412982-6681-35-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1463412982-6681-1-git-send-email-pbonzini@redhat.com> References: <1463412982-6681-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::229 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 46684fb..c0b9182 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 = {