Changeset 2598 in vbox
- Timestamp:
- May 11, 2007 7:14:52 PM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 21103
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/pci.h
r2596 r2598 76 76 /** Pointer to a FNPCIIOREGIONMAP() function. */ 77 77 typedef FNPCIIOREGIONMAP *PFNPCIIOREGIONMAP; 78 79 80 /** @name PCI Configuration Space Registers 81 * @{ */ 82 #define VBOX_PCI_VENDOR_ID 0x00 /**< 16-bit RO? */ 83 #define VBOX_PCI_DEVICE_ID 0x02 /**< 16-bit RO? */ 84 #define VBOX_PCI_COMMAND 0x04 /**< 16-bit ?? */ 85 #define VBOX_PCI_STATUS 0x06 /**< 16-bit ?? */ 86 #define VBOX_PCI_REVISION_ID 0x08 /**< 8-bit ?? */ 87 #define VBOX_PCI_CLASS_PROG 0x09 /**< 8-bit ?? */ 88 #define VBOX_PCI_CLASS_DEVICE 0x0a /**< 8-bit ?? */ 89 #define VBOX_PCI_CACHE_LINE_SIZE 0x0c /**< 8-bit ?? */ 90 #define VBOX_PCI_LATENCY_TIMER 0x0d /**< 8-bit ?? */ 91 #define VBOX_PCI_HEADER_TYPE 0x0e /**< 8-bit ?? */ 92 #define VBOX_PCI_BIST 0x0f /**< 8-bit ?? */ 93 #define VBOX_PCI_BASE_ADDRESS_0 0x10 /**< 32-bit RW */ 94 #define VBOX_PCI_BASE_ADDRESS_1 0x14 /**< 32-bit RW */ 95 #define VBOX_PCI_BASE_ADDRESS_2 0x18 /**< 32-bit RW */ 96 #define VBOX_PCI_PRIMARY_BUS 0x18 /**< 8-bit ?? - bridge - primary bus number. */ 97 #define VBOX_PCI_SECONDARY_BUS 0x19 /**< 8-bit ?? - bridge - secondary bus number. */ 98 #define VBOX_PCI_SUBORDINATE_BUS 0x1a /**< 8-bit ?? - bridge - highest subordinate bus number. (behind the bridge) */ 99 #define VBOX_PCI_SEC_LATENCY_TIMER 0x1b /**< 8-bit ?? - bridge - secondary latency timer. */ 100 #define VBOX_PCI_BASE_ADDRESS_3 0x1c /**< 32-bit RW */ 101 #define VBOX_PCI_IO_BASE 0x1c /**< 8-bit ?? - bridge - I/O range base. */ 102 #define VBOX_PCI_IO_LIMIT 0x1d /**< 8-bit ?? - bridge - I/O range limit. */ 103 #define VBOX_PCI_SEC_STATUS 0x1e /**< 16-bit ?? - bridge - secondary status register. */ 104 #define VBOX_PCI_BASE_ADDRESS_4 0x20 /**< 32-bit RW */ 105 #define VBOX_PCI_MEMORY_BASE 0x20 /**< 16-bit ?? - bridge - memory range base. */ 106 #define VBOX_PCI_MEMORY_LIMIT 0x22 /**< 16-bit ?? - bridge - memory range limit. */ 107 #define VBOX_PCI_BASE_ADDRESS_5 0x24 /**< 32-bit RW */ 108 #define VBOX_PCI_PREF_MEMORY_BASE 0x24 /**< 16-bit ?? - bridge - Prefetchable memory range base. */ 109 #define VBOX_PCI_PREF_MEMORY_LIMIT 0x26 /**< 16-bit ?? - bridge - Prefetchable memory range limit. */ 110 #define VBOX_PCI_CARDBUS_CIS 0x28 /**< 32-bit ?? */ 111 #define VBOX_PCI_PREF_BASE_UPPER32 0x28 /**< 32-bit ?? - bridge - Prefetchable memory range high base.*/ 112 #define VBOX_PCI_PREF_LIMIT_UPPER32 0x2c /**< 32-bit ?? - bridge - Prefetchable memory range high limit. */ 113 #define VBOX_PCI_SUBSYSTEM_VENDOR_ID 0x2c /**< 16-bit ?? */ 114 #define VBOX_PCI_SUBSYSTEM_ID 0x2e /**< 16-bit ?? */ 115 #define VBOX_PCI_ROM_ADDRESS 0x30 /**< 32-bit ?? */ 116 #define VBOX_PCI_IO_BASE_UPPER16 0x30 /**< 16-bit ?? - bridge - memory range high base. */ 117 #define VBOX_PCI_IO_LIMIT_UPPER16 0x32 /**< 16-bit ?? - bridge - memory range high limit. */ 118 #define VBOX_PCI_CAPABILITY_LIST 0x34 /**< 8-bit? ?? */ 119 #define VBOX_PCI_ROM_ADDRESS_BR 0x38 /**< 32-bit ?? - bridge */ 120 #define VBOX_PCI_INTERRUPT_LINE 0x3c /**< 8-bit RW - Interrupt line. */ 121 #define VBOX_PCI_INTERRUPT_PIN 0x3d /**< 8-bit RO - Interrupt pin. */ 122 #define VBOX_PCI_MIN_GNT 0x3e /**< 8-bit ?? */ 123 #define VBOX_PCI_BRIDGE_CONTROL 0x3e /**< 8-bit? ?? - bridge */ 124 #define VBOX_PCI_MAX_LAT 0x3f /**< 8-bit ?? */ 125 /** @} */ 126 78 127 79 128 /** … … 150 199 151 200 201 /** 202 * Sets the vendor id config register. 203 * @param pPciDev The PCI device. 204 * @param u16VendorId The vendor id. 205 */ 206 DECLINLINE(void) PCIDevSetVendorId(PPCIDEVICE pPciDev, uint16_t u16VendorId) 207 { 208 u16VendorId = RT_H2LE_U16(u16VendorId); 209 pPciDev->config[VBOX_PCI_VENDOR_ID] = u16VendorId & 0xff; 210 pPciDev->config[VBOX_PCI_VENDOR_ID + 1] = u16VendorId >> 8; 211 } 212 213 /** 214 * Sets the vendor id config register. 215 * @param pPciDev The PCI device. 216 * @param u16VendorId The vendor id. 217 */ 218 DECLINLINE(void) PCIDevSetDeviceId(PPCIDEVICE pPciDev, uint16_t u16DeviceId) 219 { 220 u16DeviceId = RT_H2LE_U16(u16DeviceId); 221 pPciDev->config[VBOX_PCI_DEVICE_ID] = u16DeviceId & 0xff; 222 pPciDev->config[VBOX_PCI_DEVICE_ID + 1] = u16DeviceId >> 8; 223 } 224 225 152 226 /** @} */ 153 227 -
trunk/src/VBox/Devices/Network/DevPCNet.cpp
r2291 r2598 4124 4124 4125 4125 /* PCI Device */ 4126 pData->PciDev.config[0x00] = 0x22; /* vendor id */ 4127 pData->PciDev.config[0x01] = 0x10; 4128 pData->PciDev.config[0x02] = 0x00; /* device id */ 4129 pData->PciDev.config[0x03] = 0x20; 4126 PCIDevSetVendorId(&pData->PciDev, 0x1022); 4127 PCIDevSetDeviceId(&pData->PciDev, 0x2000); 4130 4128 pData->PciDev.config[0x04] = 0x07; /* command */ 4131 4129 pData->PciDev.config[0x05] = 0x00;
Note:
See TracChangeset
for help on using the changeset viewer.