Lines Matching defs:IOMemoryMap

39 class IOMemoryMap;
193 friend class IOMemoryMap;
599 @discussion This is the general purpose method to map all or part of the memory described by a memory descriptor into a task at any available address, or at a fixed address if possible. Caching & read-only options may be set for the mapping. The mapping is represented as a returned reference to a IOMemoryMap object, which may be shared if the mapping is compatible with an existing mapping of the IOMemoryDescriptor. The IOMemoryMap object returned should be released only when the caller has finished accessing the mapping, as freeing the object destroys the mapping.
607 kIOMapReference will only succeed if the mapping already exists, and the IOMemoryMap object is just an extra reference, ie. no new mapping will be created.<br>
608 kIOMapUnique allows a special kind of mapping to be created that may be used with the IOMemoryMap::redirect() API. These mappings will not be shared as is the default - there will always be a unique mapping created for the caller, not an existing mapping with an extra reference.<br>
612 @result A reference to an IOMemoryMap object representing the mapping, which can supply the virtual address of the mapping and other information. The mapping may be shared with multiple callers - multiple maps are avoided if a compatible one exists. The IOMemoryMap object returned should be released only when the caller has finished accessing the mapping, as freeing the object destroys the mapping. The IOMemoryMap instance also retains the IOMemoryDescriptor it maps while it exists. */
614 IOMemoryMap * createMappingInTask(
622 virtual IOMemoryMap * map(
636 virtual IOMemoryMap * map(
641 @discussion This method tells the IOMemoryDescriptor about a mapping that exists, but was created elsewhere. It allows later callers of the map method to share this externally created mapping. The IOMemoryMap object returned is created to represent it. This method is not commonly needed.
645 @result A IOMemoryMap object created to represent the mapping. */
647 virtual IOMemoryMap * setMapping(
672 virtual IOMemoryMap * makeMapping(
682 IOMemoryMap * mapping );
685 IOMemoryMap * mapping );
702 /*! @class IOMemoryMap : public OSObject
704 @discussion The IOMemoryMap object represents a mapped range of memory, described by a IOMemoryDescriptor. The mapping may be in the kernel or a non-kernel task and has processor cache mode attributes. IOMemoryMap instances are created by IOMemoryDescriptor when it creates mappings in its map method, and returned to the caller. */
706 class IOMemoryMap : public OSObject
708 OSDeclareDefaultStructors(IOMemoryMap)
712 IOMemoryMap * fSuperMap;
777 @result An IOMemoryDescriptor reference, which is valid while the IOMemoryMap object is retained. It should not be released by the caller. */
789 @abstract Force the IOMemoryMap to unmap, without destroying the object.
790 @discussion IOMemoryMap instances will unmap themselves upon free, ie. when the last client with a reference calls release. This method forces the IOMemoryMap to destroy the mapping it represents, regardless of the number of clients. It is not generally used.
799 @discussion An IOMemoryMap created with the kIOMapUnique option to IOMemoryDescriptor::map() can remapped to a new IOMemoryDescriptor backing object. If the new IOMemoryDescriptor is specified as NULL, client access to the memory map is blocked until a new backing object has been set. By blocking access and copying data, the caller can create atomic copies of the memory while the client is potentially reading or writing the memory.
800 @param newBackingMemory The IOMemoryDescriptor that represents the physical memory that is to be now mapped in the virtual range the IOMemoryMap represents. If newBackingMemory is NULL, any access to the mapping will hang (in vm_fault()) until access has been restored by a new call to redirect() with non-NULL newBackingMemory argument.
842 IOMemoryMap * copyCompatible( IOMemoryMap * newMapping );
864 OSMetaClassDeclareReservedUnused(IOMemoryMap, 0);
865 OSMetaClassDeclareReservedUnused(IOMemoryMap, 1);
866 OSMetaClassDeclareReservedUnused(IOMemoryMap, 2);
867 OSMetaClassDeclareReservedUnused(IOMemoryMap, 3);
868 OSMetaClassDeclareReservedUnused(IOMemoryMap, 4);
869 OSMetaClassDeclareReservedUnused(IOMemoryMap, 5);
870 OSMetaClassDeclareReservedUnused(IOMemoryMap, 6);
871 OSMetaClassDeclareReservedUnused(IOMemoryMap, 7);
1077 mach_vm_address_t IOMemoryMap::getAddress()
1082 mach_vm_size_t IOMemoryMap::getSize()