memory: Document flatview_for_each_range()
Add a documentation comment describing flatview_for_each_range(). Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-id: 20210318174823.18066-3-peter.maydell@linaro.org
This commit is contained in:
parent
d1e8cf77f1
commit
a5e32ec1ed
|
@ -776,11 +776,33 @@ static inline FlatView *address_space_to_flatview(AddressSpace *as)
|
||||||
return qatomic_rcu_read(&as->current_map);
|
return qatomic_rcu_read(&as->current_map);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* typedef flatview_cb: callback for flatview_for_each_range()
|
||||||
|
*
|
||||||
|
* @start: start address of the range within the FlatView
|
||||||
|
* @len: length of the range in bytes
|
||||||
|
* @mr: MemoryRegion covering this range
|
||||||
|
* @opaque: data pointer passed to flatview_for_each_range()
|
||||||
|
*
|
||||||
|
* Returns: true to stop the iteration, false to keep going.
|
||||||
|
*/
|
||||||
typedef bool (*flatview_cb)(Int128 start,
|
typedef bool (*flatview_cb)(Int128 start,
|
||||||
Int128 len,
|
Int128 len,
|
||||||
const MemoryRegion*, void*);
|
const MemoryRegion *mr,
|
||||||
|
void *opaque);
|
||||||
|
|
||||||
void flatview_for_each_range(FlatView *fv, flatview_cb cb , void *opaque);
|
/**
|
||||||
|
* flatview_for_each_range: Iterate through a FlatView
|
||||||
|
* @fv: the FlatView to iterate through
|
||||||
|
* @cb: function to call for each range
|
||||||
|
* @opaque: opaque data pointer to pass to @cb
|
||||||
|
*
|
||||||
|
* A FlatView is made up of a list of non-overlapping ranges, each of
|
||||||
|
* which is a slice of a MemoryRegion. This function iterates through
|
||||||
|
* each range in @fv, calling @cb. The callback function can terminate
|
||||||
|
* iteration early by returning 'true'.
|
||||||
|
*/
|
||||||
|
void flatview_for_each_range(FlatView *fv, flatview_cb cb, void *opaque);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct MemoryRegionSection: describes a fragment of a #MemoryRegion
|
* struct MemoryRegionSection: describes a fragment of a #MemoryRegion
|
||||||
|
|
Loading…
Reference in New Issue