Kernel - Slight reworks to timer code
[tpg/acess2.git] / Kernel / arch / x86 / pci.c
index b5410a3..7a0a2c1 100644 (file)
@@ -4,58 +4,19 @@
  */\r
 #define DEBUG  0\r
 #include <acess.h>\r
-\r
-// === PROTOTYPES ===\r
-Uint32 PCI_CfgReadDWord(Uint16 bus, Uint16 dev, Uint16 func, Uint16 offset);\r
-void   PCI_CfgWriteDWord(Uint16 bus, Uint16 dev, Uint16 func, Uint16 offset, Uint32 data);\r
-Uint16 PCI_CfgReadWord(Uint16 bus, Uint16 dev, Uint16 func, Uint16 offset);\r
-Uint8  PCI_CfgReadByte(Uint16 bus, Uint16 dev, Uint16 func, Uint16 offset);\r
+#include <drv_pci_int.h>\r
 \r
 // === CODE ===\r
-Uint32 PCI_CfgReadDWord(Uint16 bus, Uint16 dev, Uint16 func, Uint16 offset)\r
-{\r
-       Uint32  address;\r
-       Uint32  data;\r
-       \r
-       bus &= 0xFF;    // 8 Bits\r
-       dev &= 0x1F;    // 5 Bits\r
-       func &= 0x7;    // 3 Bits\r
-       offset &= 0xFF; // 8 Bits\r
-       \r
-       address = 0x80000000 | ((Uint)bus<<16) | ((Uint)dev<<11) | ((Uint)func<<8) | (offset&0xFC);\r
-       outd(0xCF8, address);\r
-       \r
-       data = ind(0xCFC);\r
-       //Debug("PCI(0x%x) = 0x%08x", address, data);\r
-       return data;\r
-}\r
-void PCI_CfgWriteDWord(Uint16 bus, Uint16 dev, Uint16 func, Uint16 offset, Uint32 data)\r
+Uint32 PCI_CfgReadDWord(Uint32 Address)\r
 {\r
-       Uint32  address;\r
-       \r
-       bus &= 0xFF;    // 8 Bits\r
-       dev &= 0x1F;    // 5 Bits\r
-       func &= 0x7;    // 3 Bits\r
-       offset &= 0xFF; // 8 Bits\r
-       \r
-       address = 0x80000000 | ((Uint)bus<<16) | ((Uint)dev<<11) | ((Uint)func<<8) | (offset&0xFC);\r
-       outd(0xCF8, address);\r
-       outd(0xCFC, data);\r
-}\r
-Uint16 PCI_CfgReadWord(Uint16 bus, Uint16 dev, Uint16 func, Uint16 offset)\r
-{\r
-       Uint32  data = PCI_CfgReadDWord(bus, dev, func, offset);\r
-       \r
-       data >>= (offset&2)*8;  // Allow Access to Upper Word\r
-       \r
-       return (Uint16)data;\r
+       Address |= 0x80000000;\r
+       outd(0xCF8, Address);\r
+       return ind(0xCFC);\r
 }\r
 \r
-Uint8 PCI_CfgReadByte(Uint16 bus, Uint16 dev, Uint16 func, Uint16 offset)\r
+void PCI_CfgWriteDWord(Uint32 Address, Uint32 Data)\r
 {\r
-       Uint32  data = PCI_CfgReadDWord(bus, dev, func, offset);\r
-       \r
-       data >>= (offset&3)*8;  //Allow Access to Upper Word\r
-       return (Uint8)data;\r
+       Address |= 0x80000000;\r
+       outd(0xCF8, Address);\r
+       outd(0xCFC, Data);\r
 }\r
-\r

UCC git Repository :: git.ucc.asn.au