4 libbasetype struct pcibase
5 classptr_field psd.pciClass
9 oopbase_field psd.oopBase
10 seglist_field psd.segList
21 interfacename Hidd_PCI
23 methodbase HiddPCIBase
24 attributebase HiddPCIAttrBase
31 VOID AddHardwareDriver(OOP_Class *driverClass)
32 BOOL RemHardwareDriver(OOP_Class *driverClass)
33 VOID EnumDevices(struct Hook *callback, const struct TagItem *requirements)
39 interfaceid hidd.pci.driver
40 interfacename Hidd_PCIDriver
41 methodstub HIDD_PCIDriver
42 methodbase HiddPCIDriverBase
43 attributebase HiddPCIDriverAttrBase
47 BOOL DirectBus # [..G] DirectBus shows whether CPUtoPCI and PCItoCPU methods are usable
48 IPTR IOBase # [..G] Offset to host IO space
49 APTR IRQRoutingTable # [..G] Get IRQ routing table for that driver, if available
53 UBYTE ReadConfigByte(OOP_Object *device, UBYTE bus, UBYTE dev, UBYTE sub, UWORD reg)
54 UWORD ReadConfigWord(OOP_Object *device, UBYTE bus, UBYTE dev, UBYTE sub, UWORD reg)
55 ULONG ReadConfigLong(OOP_Object *device, UBYTE bus, UBYTE dev, UBYTE sub, UWORD reg)
56 VOID WriteConfigByte(OOP_Object *device, UBYTE bus, UBYTE dev, UBYTE sub, UWORD reg, UBYTE val)
57 VOID WriteConfigWord(OOP_Object *device, UBYTE bus, UBYTE dev, UBYTE sub, UWORD reg, UWORD val)
58 VOID WriteConfigLong(OOP_Object *device, UBYTE bus, UBYTE dev, UBYTE sub, UWORD reg, ULONG val)
59 APTR CPUtoPCI(APTR address)
60 APTR PCItoCPU(APTR address)
61 APTR MapPCI(APTR PCIAddress, ULONG Length)
62 VOID UnmapPCI(APTR CPUAddress, ULONG Length)
63 APTR AllocPCIMem(ULONG Size)
64 VOID FreePCIMem(APTR Address)
65 BOOL AddInterrupt(OOP_Object *device, struct Interrupt *interrupt)
66 VOID RemoveInterrupt(OOP_Object *device, struct Interrupt *interrupt)
67 IPTR HasExtendedConfig(UBYTE bus, UBYTE dev, UBYTE sub)
73 interfaceid hidd.pci.device
74 interfacename Hidd_PCIDevice
75 methodstub HIDD_PCIDevice
76 methodbase HiddPCIDeviceBase
77 attributebase HiddPCIDeviceAttrBase
81 OOP_Object *Driver # [I.G] Hardware PCI driver that handles this device
82 UBYTE Bus # [I.G] Bus the device is on
83 UBYTE Dev # [I.G] Device number
84 UBYTE Sub # [I.G] Function number
85 UWORD VendorID # [..G] VendorID of device as defined in PCI specs
86 UWORD ProductID # [..G] ProductID
87 UWORD RevisionID # [..G] RevisionID
88 UBYTE Interface # [..G]
90 UBYTE SubClass # [..G]
91 UWORD SubsystemVendorID # [..G]
92 UWORD SubsystemID # [..G]
95 IPTR RomBase # [.SG] Location of ROM on the PCI bus (if ROM exists)
96 IPTR RomSize # [..G] Size of ROM area
97 IPTR Base0 # [.SG] Location of Memory Area 0
98 IPTR Size0 # [..G] Size of Memory Area 0
115 BOOL isIO # [.SG] Can device access IO space?
116 BOOL isMEM # [.SG] Can device access Mem space?
117 BOOL isMaster # [.SG] Can device work in BusMaster mode?
118 BOOL paletteSnoop # [.SG] Should VGA compatible card snoop the palette?
119 BOOL is66MHz # [..G] Is device 66MHz capable?
120 CONST_STRPTR ClassDesc # [..G] String description of device Class
121 CONST_STRPTR SubClassDesc # [..G] String description of device SubClass
122 CONST_STRPTR InterfaceDesc # [..G] String description of device Interface
123 BOOL isBridge # [..G] Is the device a PCI-PCI bridge?
124 UBYTE SecBus # [..G] Bus number managed by bridge
125 IPTR MemoryBase # [.SG] PCI bridge will forwart addresses from MemoryBase to
126 IPTR MemoryLimit # [.SG] MemoryLimit through
127 IPTR PrefetchableBase # [.SG] like above, regarding the prefetchable memory
128 IPTR PrefetchableLimit # [.SG]
129 IPTR IOBase # [.SG] PCI bridge will forward IO accesses from IOBase to IOLimit
131 BOOL ISAEnable # [.SG] Enable ISA-specific IO forwarding
132 BOOL VGAEnable # [.SG] Enable VGA-specific IO/MEM forwarding regardless of limits
133 BOOL IRQStatus # [..G] Get current irq status (does device request irq?)
134 ULONG CapabilitiesPresent # [..G] Use this to check if PCI features extra capabilities (such as PM, MSI, PCI-X, PCI-E)
135 UWORD CapabilityPowerManagement # [..G] Get offset of Power Management capability area or 0 if not present
136 UWORD CapabilityAGP # [..G] Get offset of AGP capability area or 0 if not present
137 UWORD CapabilityVitalProductData # [..G] Get offset of Vital Product Data capability area or 0 if not present
138 UWORD CapabilitySlotID # [..G] Get offset of Slot Indentification capability area or 0 if not present
139 UWORD CapabilityMSI # [..G] Get offset of Message Signalled Interrupts capability area or 0 if not present
140 UWORD CapabilityCPCIHotSwap # [..G] Get offset of CompactPCI HotSwap capability area or 0 if not present
141 UWORD CapabilityPCIX # [..G] Get offset of PCI-X capability area or 0 if not present
142 UWORD CapabilityHyperTransport # [..G] Get offset of Hyper Transport capability area or 0 if not present
143 UWORD CapabilityVendorSpecific # [..G] Get offset of Vendor Specific capability area or 0 if not present
144 UWORD CapabilityDebugPort # [..G] Get offset of Debug Port capability area or 0 if not present
145 UWORD CapabilityCPCICRC # [..G] Get offset of CompactPCI Central Resource Control capability area or 0 if not present
146 UWORD CapabilityHotPlugController # [..G] Get offset of PCI Standard Hot-Plug Controller capability area or 0 if not present
147 UWORD CapabilitySSVPID # [..G] Get offset of Bridge Subsystem VendorID/ProductID capability area or 0 if not present
148 UWORD CapabilityAGP3 # [..G] Get offset of AGP3 capability area or 0 if not present
149 UWORD CapabilityPCIE # [..G] Get offset of PCI Express capability area or 0 if not present
150 UWORD CapabilityMSIX # [..G] Get offset of MSI-X capability area or 0 if not present
151 UWORD CapabilityAdvancedFeatures # [..G] Get offset of PCI Advanced Features capability area or 0 if not present
152 CONST_STRPTR Owner # [..G] Get current owner
154 UWORD ExtendedCapabilityAER # [..G] Get offset of PCIE Advanced Error Handling area or 0 if not present
155 UWORD ExtendedCapabilityVC # [..G] Get offset of PCIE Virtual Channel area or 0 if not present
156 UWORD ExtendedCapabilitySerialNumber # [..G] Get offset of PCIE Serial Number area or 0 if not present
157 UWORD ExtendedCapabilityPowerBudgeting # [..G] Get offset of PCIE Power Budgeting area or 0 if not present
162 UBYTE ReadConfigByte(UWORD reg)
163 UWORD ReadConfigWord(UWORD reg)
164 ULONG ReadConfigLong(UWORD reg)
165 VOID WriteConfigByte(UWORD reg, UBYTE val)
166 VOID WriteConfigWord(UWORD reg, UWORD val)
167 VOID WriteConfigLong(UWORD reg, ULONG val)
168 BOOL AddInterrupt(struct Interrupt *interrupt)
169 VOID RemoveInterrupt(struct Interrupt *interrupt)
170 CONST_STRPTR Obtain(CONST_STRPTR owner)
172 IPTR HasExtendedConfig()
196 classptr_field psd.pciDriverClass
197 classid CLID_Hidd_PCIDriver
198 classdatatype struct DrvInstData
205 .interface Hidd_PCIDriver
230 classptr_field psd.pciDeviceClass
231 classdatatype struct DeviceData
239 .interface Hidd_PCIDevice