Index: generic/src/mm/frame.c
===================================================================
--- generic/src/mm/frame.c	(revision 7669bcf004fbab71b35a1a9ec2b476fb2c698b7a)
+++ generic/src/mm/frame.c	(revision c4e45073fbe4143fbb4ab29aa6875ecdc374466e)
@@ -135,4 +135,5 @@
  * Insert-sort zone into zones list
  *
+ * @param newzone New zone to be inserted into zone list
  * @return zone number on success, -1 on error
  */
@@ -173,6 +174,8 @@
  * Try to find a zone where can we find the frame
  *
- * @param hint Start searching in zone 'hint'
- * @param lock Lock zone if true
+ * @param frame Frame number contained in zone
+ * @param pzone If not null, it is used as zone hint. Zone index
+ *              is filled into the variable on success. 
+ * @return Pointer to LOCKED zone containing frame
  *
  * Assume interrupts disable
@@ -221,4 +224,5 @@
  * Assume interrupts are disabled!!
  *
+ * @param order Size (2^order) of free space we are trying to find
  * @param pzone Pointer to preferred zone or NULL, on return contains zone number
  */
@@ -469,4 +473,7 @@
  *
  * Assume zone is locked
+ *
+ * @param zone Pointer to zone from which the frame is to be freed
+ * @param frame_idx Frame index relative to zone
  */
 static void zone_frame_free(zone_t *zone, index_t frame_idx)
@@ -519,4 +526,8 @@
  *
  * Assume z1 & z2 are locked 
+ *
+ * @param z Target zone structure pointer
+ * @param z1 Zone to merge
+ * @param z2 Zone to merge
  */
 
@@ -628,6 +639,7 @@
  *
  * The allocated block need 2^order frames of space. Reduce all frames
- * in block to order 0 and free the unneded frames. This means, that 
- * when freeing the block, you have to free every frame from block.
+ * in block to order 0 and free the unneeded frames. This means, that 
+ * when freeing the previously allocated block starting with frame_idx, 
+ * you have to free every frame.
  *
  * @param zone 
@@ -752,6 +764,6 @@
  *
  * @param start Physical address of the first frame within the zone.
- * @param size Size of the zone. Must be a multiple of FRAME_SIZE.
- * @param conffram Address of configuration frame
+ * @param count Count of frames in zone
+ * @param z Address of configuration information of zone
  * @param flags Zone flags.
  *
@@ -794,5 +806,9 @@
 }
 
-/** Compute configuration data size for zone */
+/** Compute configuration data size for zone
+ *
+ * @param count Size of zone in frames
+ * @return Size of zone configuration info (in bytes)
+ */
 __address zone_conf_size(count_t count)
 {
@@ -807,9 +823,14 @@
 /** Create and add zone to system
  *
- * @param confframe Where configuration frame is supposed to be.
- *                  Always check, that we will not disturb the kernel and possibly init. 
+ * @param start First frame number (absolute)
+ * @param count Size of zone in frames
+ * @param confframe Where configuration frames are supposed to be.
+ *                  Automatically checks, that we will not disturb the 
+ *                  kernel and possibly init. 
  *                  If confframe is given _outside_ this zone, it is expected,
  *                  that the area is already marked BUSY and big enough
- *                  to contain zone_conf_size() amount of data
+ *                  to contain zone_conf_size() amount of data.
+ *                  If the confframe is inside the area, the zone free frame
+ *                  information is modified not to include it.
  *
  * @return Zone number or -1 on error
