mirror of https://github.com/xemu-project/xemu.git
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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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,
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue