From: Blue Swirl Date: Fri, 10 Sep 2010 18:52:52 +0000 (+0000) Subject: HACKING: add memory management rules X-Git-Tag: v0.14.0-rc0~673 X-Git-Url: https://git.proxmox.com/?p=qemu.git;a=commitdiff_plain;h=54b2cc50307097e903579a3fb61855c889c78ee9 HACKING: add memory management rules Add memory management rules, somewhat like libvirt HACKING. Signed-off-by: Blue Swirl --- diff --git a/HACKING b/HACKING index 0c8fad569..da0c1e84e 100644 --- a/HACKING +++ b/HACKING @@ -72,3 +72,17 @@ Typedefs are used to eliminate the redundant 'struct' keyword. 2.4. Reserved namespaces in C and POSIX Underscore capital, double underscore, and underscore 't' suffixes should be avoided. + +3. Low level memory management + +Use of the malloc/free/realloc/calloc/valloc/memalign/posix_memalign +APIs is not allowed in the QEMU codebase. Instead of these routines, +use the replacement qemu_malloc/qemu_mallocz/qemu_realloc/qemu_free or +qemu_vmalloc/qemu_memalign/qemu_vfree APIs. + +Please note that NULL check for the qemu_malloc result is redundant and +that qemu_malloc() call with zero size is not allowed. + +Memory allocated by qemu_vmalloc or qemu_memalign must be freed with +qemu_vfree, since breaking this will cause problems on Win32 and user +emulators.