Revision b7ee1603 hw/pci.h
b/hw/pci.h | ||
---|---|---|
98 | 98 |
#define PCI_COMMAND 0x04 /* 16 bits */ |
99 | 99 |
#define PCI_COMMAND_IO 0x1 /* Enable response in I/O space */ |
100 | 100 |
#define PCI_COMMAND_MEMORY 0x2 /* Enable response in Memory space */ |
101 |
#define PCI_COMMAND_MASTER 0x4 /* Enable bus master */ |
|
101 | 102 |
#define PCI_STATUS 0x06 /* 16 bits */ |
102 | 103 |
#define PCI_REVISION_ID 0x08 /* 8 bits */ |
103 | 104 |
#define PCI_CLASS_DEVICE 0x0a /* Device class */ |
105 |
#define PCI_CACHE_LINE_SIZE 0x0c /* 8 bits */ |
|
106 |
#define PCI_LATENCY_TIMER 0x0d /* 8 bits */ |
|
104 | 107 |
#define PCI_HEADER_TYPE 0x0e /* 8 bits */ |
105 | 108 |
#define PCI_HEADER_TYPE_NORMAL 0 |
106 | 109 |
#define PCI_HEADER_TYPE_BRIDGE 1 |
107 | 110 |
#define PCI_HEADER_TYPE_CARDBUS 2 |
108 | 111 |
#define PCI_HEADER_TYPE_MULTI_FUNCTION 0x80 |
112 |
#define PCI_BASE_ADDRESS_0 0x10 /* 32 bits */ |
|
113 |
#define PCI_PRIMARY_BUS 0x18 /* Primary bus number */ |
|
114 |
#define PCI_SECONDARY_BUS 0x19 /* Secondary bus number */ |
|
115 |
#define PCI_SEC_STATUS 0x1e /* Secondary status register, only bit 14 used */ |
|
109 | 116 |
#define PCI_SUBSYSTEM_VENDOR_ID 0x2c /* 16 bits */ |
110 | 117 |
#define PCI_SUBSYSTEM_ID 0x2e /* 16 bits */ |
118 |
#define PCI_CAPABILITY_LIST 0x34 /* Offset of first capability list entry */ |
|
111 | 119 |
#define PCI_INTERRUPT_LINE 0x3c /* 8 bits */ |
112 | 120 |
#define PCI_INTERRUPT_PIN 0x3d /* 8 bits */ |
113 | 121 |
#define PCI_MIN_GNT 0x3e /* 8 bits */ |
... | ... | |
137 | 145 |
|
138 | 146 |
#define PCI_COMMAND_RESERVED_MASK_HI (PCI_COMMAND_RESERVED >> 8) |
139 | 147 |
|
148 |
/* Size of the standard PCI config header */ |
|
149 |
#define PCI_CONFIG_HEADER_SIZE 0x40 |
|
150 |
/* Size of the standard PCI config space */ |
|
151 |
#define PCI_CONFIG_SPACE_SIZE 0x100 |
|
152 |
|
|
140 | 153 |
struct PCIDevice { |
141 | 154 |
DeviceState qdev; |
142 | 155 |
/* PCI config space */ |
143 |
uint8_t config[256]; |
|
156 |
uint8_t config[PCI_CONFIG_SPACE_SIZE]; |
|
157 |
|
|
158 |
/* Used to implement R/W bytes */ |
|
159 |
uint8_t wmask[PCI_CONFIG_SPACE_SIZE]; |
|
144 | 160 |
|
145 | 161 |
/* the following fields are read only */ |
146 | 162 |
PCIBus *bus; |
Also available in: Unified diff