From patchwork Sun Mar 10 13:47:56 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Igor Mitsyanko X-Patchwork-Id: 226435 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 8C9252C030D for ; Mon, 11 Mar 2013 00:48:38 +1100 (EST) Received: from localhost ([::1]:50505 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UEgc8-0003eM-98 for incoming@patchwork.ozlabs.org; Sun, 10 Mar 2013 09:48:36 -0400 Received: from eggs.gnu.org ([208.118.235.92]:57980) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UEgbg-0003WA-Ja for qemu-devel@nongnu.org; Sun, 10 Mar 2013 09:48:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UEgbd-0001Tf-UP for qemu-devel@nongnu.org; Sun, 10 Mar 2013 09:48:08 -0400 Received: from mail-la0-x235.google.com ([2a00:1450:4010:c03::235]:61750) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UEgbd-0001TY-Mk for qemu-devel@nongnu.org; Sun, 10 Mar 2013 09:48:05 -0400 Received: by mail-la0-f53.google.com with SMTP id fr10so3003926lab.26 for ; Sun, 10 Mar 2013 06:48:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references; bh=EtJknmvLt7AxjTm7lPC92xNdNLGyuTRQ4cA3tKZ/2aU=; b=wR2W+AFLwxDLB9zuKNEV4YlAF5mszjNEXF80aruUe9fBx/lzoJAkltnMcE6e57t4ry RCYAUpQY5yOJ/Q7Sn4xAaoL5SxDnCDM9ohVp3f6+uW8bc1lzqayBbeQ1e35OJ7gTMX2N 3A0RwVDJWtceAsNSWFh+lQ1gQ3dtH3PdsJ4HAibaXzd65hy2DhNh0+NijUgP3uK277+Y 0GubldDntAF8UCFGB0atCzOM03hG9dcCU21Y8xuXlvEmFeTajSHfH0aKxJqriczAhvMo rWzTfEirfPp91L0Pe0pIHLTpl/IFb83AOsdVPqLxyVlyBNQhXvYipjlvGXjTu3bWQ+UY NAqg== X-Received: by 10.112.82.164 with SMTP id j4mr3381852lby.112.1362923284642; Sun, 10 Mar 2013 06:48:04 -0700 (PDT) Received: from localhost ([79.164.43.133]) by mx.google.com with ESMTPS id pk1sm5649412lab.0.2013.03.10.06.48.02 (version=TLSv1 cipher=RC4-SHA bits=128/128); Sun, 10 Mar 2013 06:48:03 -0700 (PDT) From: Igor Mitsyanko To: qemu-devel@nongnu.org Date: Sun, 10 Mar 2013 17:47:56 +0400 Message-Id: <1362923278-4080-2-git-send-email-i.mitsyanko@gmail.com> X-Mailer: git-send-email 1.8.1.2 In-Reply-To: <1362923278-4080-1-git-send-email-i.mitsyanko@gmail.com> References: <1362923278-4080-1-git-send-email-i.mitsyanko@gmail.com> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c03::235 Cc: peter.maydell@linaro.org, i.mitsyanko@gmail.com, andrew@openedhand.com, michael@walle.cc, paul@codesourcery.com, anthony@codemonkey.ws Subject: [Qemu-devel] [PATCH 1/3] vmstate.h: introduce VMSTATE_BUFFER_POINTER_UNSAFE macro 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 Macro could be used to migrate a dynamically allocated buffer of known size. Signed-off-by: Igor Mitsyanko --- include/migration/vmstate.h | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/include/migration/vmstate.h b/include/migration/vmstate.h index f27276c..e127ed8 100644 --- a/include/migration/vmstate.h +++ b/include/migration/vmstate.h @@ -404,6 +404,15 @@ extern const VMStateInfo vmstate_info_bitmap; .offset = offsetof(_state, _field), \ } +#define VMSTATE_BUFFER_POINTER_UNSAFE(_field, _state, _version, _size) { \ + .name = (stringify(_field)), \ + .version_id = (_version), \ + .size = (_size), \ + .info = &vmstate_info_buffer, \ + .flags = VMS_BUFFER|VMS_POINTER, \ + .offset = offsetof(_state, _field), \ +} + #define VMSTATE_UNUSED_BUFFER(_test, _version, _size) { \ .name = "unused", \ .field_exists = (_test), \