]> git.proxmox.com Git - mirror_qemu.git/commitdiff
HACKING: add memory management rules
authorBlue Swirl <blauwirbel@gmail.com>
Fri, 10 Sep 2010 18:52:52 +0000 (18:52 +0000)
committerBlue Swirl <blauwirbel@gmail.com>
Fri, 10 Sep 2010 18:52:52 +0000 (18:52 +0000)
Add memory management rules, somewhat like libvirt HACKING.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
HACKING

diff --git a/HACKING b/HACKING
index 0c8fad569c8081cb689af13f5a8fe54bd8dfc3d9..da0c1e84e63465c00664c64b8a5edda3083348e0 100644 (file)
--- 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.