Message ID | 1438818474-31373-2-git-send-email-somlo@cmu.edu |
---|---|
State | New |
Headers | show |
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 <somlo@cmu.edu> > --- > 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
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,
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 <somlo@cmu.edu> --- docs/specs/fw_cfg.txt | 11 +++++++++++ 1 file changed, 11 insertions(+)