From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43145) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZNH3w-00086I-OD for qemu-devel@nongnu.org; Thu, 06 Aug 2015 05:02:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZNH3s-0003KJ-Iz for qemu-devel@nongnu.org; Thu, 06 Aug 2015 05:02:08 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34351) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZNH3s-0003K5-Dh for qemu-devel@nongnu.org; Thu, 06 Aug 2015 05:02:04 -0400 References: <1438818474-31373-1-git-send-email-somlo@cmu.edu> <1438818474-31373-2-git-send-email-somlo@cmu.edu> From: Laszlo Ersek Message-ID: <55C32287.4060001@redhat.com> Date: Thu, 6 Aug 2015 11:01:59 +0200 MIME-Version: 1.0 In-Reply-To: <1438818474-31373-2-git-send-email-somlo@cmu.edu> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 1/2] fw_cfg: document fw_cfg_modify_iXX() update functions List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Gabriel L. Somlo" , qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, gsomlo@gmail.com, kraxel@redhat.com, =?UTF-8?Q?Marc_Mar=c3=ad?= On 08/06/15 01:47, Gabriel L. Somlo wrote: > Document the behavior of fw_cfg_modify_iXX() for leak-free update > of integer fw_cfg blobs; this function was added as a bug fix with > commit 48779e501810c5046ff8af7b9cf9c99bec2928a1. > > Currently only fw_cfg_modify_i16() is coded, but 32- and 64-bit > versions may be added later if necessary. > > Signed-off-by: Gabriel Somlo > --- > docs/specs/fw_cfg.txt | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/docs/specs/fw_cfg.txt b/docs/specs/fw_cfg.txt > index 74351dd..5bc7b96 100644 > --- a/docs/specs/fw_cfg.txt > +++ b/docs/specs/fw_cfg.txt > @@ -159,6 +159,17 @@ will convert a 16-, 32-, or 64-bit integer to little-endian, then add > a dynamically allocated copy of the appropriately sized item to fw_cfg > under the given selector key value. > > +== fw_cfg_modify_iXX() == > + > +Modify the value of an XX-bit item (where XX may be 16, 32, or 64). > +Similarly to the corresponding fw_cfg_add_iXX() function set, convert > +a 16-, 32-, or 64-bit integer to little endian, create a dynamically > +allocated copy of the required size, and replace the existing item at > +the given selector key value with the newly allocated one. The previous > +item, assumed to have been allocated during an earlier call to > +fw_cfg_add_iXX() or fw_cfg_modify_iXX() (of the same width XX), is freed > +before the function returns. > + > == fw_cfg_add_file() == > > Given a filename (i.e., fw_cfg item name), starting pointer, and size, > I think I gave my R-b for this here: http://thread.gmane.org/gmane.comp.emulators.qemu/352278/focus=352299