IOAGPDevice



Member Functions

commitAGPMemory

Abstract: Makes memory addressable by AGP transactions.
public:

virtual IOReturn commitAGPMemory( IOMemoryDescriptor * memory, IOByteCount agpOffset, IOOptionBits options = 0 );

Makes the memory described by the IOMemoryDescriptor object addressable by AGP by entering its pages into the GART array, given an offset into AGP space supplied by the caller (usually allocated by the AGP range allocator). It is the callers responsibility to prepare non-kernel pageable memory before calling this method, with IOMemoryDescriptor::prepare.

Parameters

NameDescription
memoryA IOMemoryDescriptor object describing the memory to add to the GART.
agpOffsetAn offset into AGP space that the caller has allocated - usually allocated by the AGP range allocator.
optionsNone currently defined - pass zero.
Result: An IOReturn code indicating success or failure.

createAGPSpace

Abstract: Allocates the AGP space, and enables AGP transactions on the master and slave.
public:

virtual IOReturn createAGPSpace( IOOptionBits options, IOPhysicalAddress * address, IOPhysicalLength * length );

This method should be called by the driver for the AGP master device to set the size of the space and enable AGP transactions. It will destroy any AGP space currently allocated.

Parameters

NameDescription
optionsNo options are currently defined, pass zero.
addressThe physical range allocated for the AGP space is passed back to the caller.
lengthAn in/out parameter - the caller sets the devices maximum AGP addressing and the actual size created is passed back.
Result: An IOReturn code indicating success or failure.

destroyAGPSpace

Abstract: Destroys the AGP space, and disables AGP transactions on the master and slave.
public:

virtual IOReturn destroyAGPSpace( void );

This method should be called by the driver to shutdown AGP transactions and release resources.


getAGPRangeAllocator

Abstract: Accessor to obtain the AGP range allocator.
public:

virtual IORangeAllocator * getAGPRangeAllocator( void );

To allocate ranges in AGP space, obtain a range allocator for the space with this method. It is retained while the space is created (until destroyAGPSpace is called) and should not be released by the caller.

Result: A pointer to the range allocator for the AGP space.

getAGPStatus

Abstract: Returns the current state of the AGP bus.
public:

virtual IOOptionBits getAGPStatus( IOOptionBits which = kIOAGPDefaultStatus );

Returns state bits for the AGP bus. Only one type of status is currently defined.

Parameters

NameDescription
whichType of status - only kIOAGPDefaultStatus is currently valid.
Result: Mask of status bits for the AGP bus.

releaseAGPMemory

Abstract: Releases memory addressable by AGP transactions.
public:

virtual IOReturn releaseAGPMemory( IOMemoryDescriptor * memory, IOByteCount agpOffset );

Makes the memory described by the IOMemoryDescriptor object unaddressable by AGP by removing its pages from the GART array, given an offset into AGP space supplied by the caller (usually allocated by the AGP range allocator). It is the callers responsibility to complete non-kernel pageable memory before calling this method, with IOMemoryDescriptor::complete.

Parameters

NameDescription
memoryA IOMemoryDescriptor object describing the memory to remove from the GART.
agpOffsetAn offset into AGP space that the caller has allocated - usually allocated by the AGP range allocator.
Result: An IOReturn code indicating success or failure.

© 2000 Apple Computer, Inc. — (Last Updated 2/23/2000)