Function - Provide kernel with data previously requested by the kernel's Memory Management facility.
kern_return_t memory_object_data_supply
(mem_object_control_port_t memory_control,
vm_offset_t offset,
pointer_t data,
mach_msg_type_number_t data_count,
boolean_t deallocate,
vm_prot_t lock_value,
boolean_t precious,
mach_port_t reply_port);
The memory_object_data_supply function supplies the kernel with a range of data for the specified memory object. A memory manager can only provide data that was requested by a memory_object_data_request call from the kernel.
The kernel accepts only integral numbers of pages. It discards any partial pages without notification.
A memory manager must be careful that it not attempt to provide data that has not been explicitly requested. In particular, a memory manager must ensure that it does not provide writable data again before it receives back modifications from the kernel. This may require that the memory manager remember which pages it has provided, or that it exercise other cache control functions (via memory_object_lock_request) before proceeding. The kernel prohibits the overwriting of live data pages and will not accept pages it has not requested.
Only generic errors apply.
Functions: memory_object_data_error, memory_object_data_request, memory_object_data_unavailable, memory_object_lock_request, memory_object_supply_completed.