X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Finclude%2Fdrv_pci.h;h=128f10520708f6b3a77fcee7f407553fc6132fb9;hb=9d85201216cb35e1b1e051b1d7cdc38eaa5befa4;hp=b6a1b0724875602dfceaddca32a01649a0afb459;hpb=8bc40333b1401d7616b225945fee53d972c2f418;p=tpg%2Facess2.git diff --git a/Kernel/include/drv_pci.h b/Kernel/include/drv_pci.h index b6a1b072..128f1052 100644 --- a/Kernel/include/drv_pci.h +++ b/Kernel/include/drv_pci.h @@ -1,12 +1,16 @@ -/* - * Acess 2 - * PCI Bus Driver - * drv_pci.h +/** + * \file drv_pci.h + * \brief PCI Bus Driver + * \author John Hodge (thePowersGang) */ #ifndef _DRV_PCI_H #define _DRV_PCI_H -enum e_PciClasses { +/** + * \brief PCI Class Codes + */ +enum ePCIClasses +{ PCI_CLASS_PRE20 = 0x00, PCI_CLASS_STORAGE, PCI_CLASS_NETWORK, @@ -22,20 +26,29 @@ enum e_PciClasses { PCI_CLASS_SERIALBUS, PCI_CLASS_MISC = 0xFF }; -enum e_PciOverClasses { + +enum ePCIOverClasses +{ PCI_OC_PCIBRIDGE = 0x0604, PCI_OC_SCSI = 0x0100 }; - +/** + * \brief Count PCI Devices + * + * Counts the number of devices with specified Vendor and Device IDs + */ extern int PCI_CountDevices(Uint16 vendor, Uint16 device, Uint16 fcn); + extern int PCI_GetDevice(Uint16 vendor, Uint16 device, Uint16 fcn, int idx); extern int PCI_GetDeviceByClass(Uint16 class, Uint16 mask, int prev); extern Uint8 PCI_GetIRQ(int id); extern Uint32 PCI_GetBAR0(int id); extern Uint32 PCI_GetBAR1(int id); +extern Uint32 PCI_GetBAR2(int id); extern Uint32 PCI_GetBAR3(int id); extern Uint32 PCI_GetBAR4(int id); extern Uint32 PCI_GetBAR5(int id); +extern Uint16 PCI_AssignPort(int id, int bar, int count); #endif