---
title: IOAGPDevice
framework: kernel
role: symbol
role_heading: Class
path: kernel/ioagpdevice
---

# IOAGPDevice

An IOService class representing an AGP primary device.

## Declaration

```occ
class IOAGPDevice : IOPCIDevice
```

## Overview

Overview The discovery of an AGP primary device by the PCI bus family results in an instance of the IOAGPDevice being created and published. It provides services specific to AGP, in addition to the PCI services supplied by its superclass IOPCIDevice.

## Topics

### Miscellaneous

- [commitAGPMemory](kernel/ioagpdevice/1811820-commitagpmemory.md)
- [createAGPSpace](kernel/ioagpdevice/1811842-createagpspace.md)
- [destroyAGPSpace](kernel/ioagpdevice/1811870-destroyagpspace.md)
- [getAGPRangeAllocator](kernel/ioagpdevice/1811894-getagprangeallocator.md)
- [getAGPSpace](kernel/ioagpdevice/1811914-getagpspace.md)
- [getAGPStatus](kernel/ioagpdevice/1811928-getagpstatus.md)
- [releaseAGPMemory](kernel/ioagpdevice/1811943-releaseagpmemory.md)

### DataTypes

- [ExpansionData](kernel/ioservice/expansiondata.md)

### Instance Variables

- [reserved](kernel/ioagpdevice/reserved.md)

### Instance Methods

- [commitAGPMemory](kernel/ioagpdevice/1580678-commitagpmemory.md)
- [createAGPSpace](kernel/ioagpdevice/1580693-createagpspace.md)
- [destroyAGPSpace](kernel/ioagpdevice/1580697-destroyagpspace.md)
- [getAGPRangeAllocator](kernel/ioagpdevice/1580694-getagprangeallocator.md)
- [getAGPSpace](kernel/ioagpdevice/1580706-getagpspace.md)
- [getAGPStatus](kernel/ioagpdevice/1580708-getagpstatus.md)
- [getMetaClass](kernel/ioagpdevice/1580675-getmetaclass.md)
- [releaseAGPMemory](kernel/ioagpdevice/1580699-releaseagpmemory.md)
- [resetAGP](kernel/ioagpdevice/1580690-resetagp.md)

## Relationships

### Inherits From

- [IOPCIDevice](kernel/iopcidevice.md)

## See Also

### Devices

- [Implementing a PCIe Kext for a Thunderbolt Device](kernel/hardware_families/pci/implementing_a_pcie_kext_for_a_thunderbolt_device.md)
- [IOPCIDevice](kernel/iopcidevice.md)
