20
20
#define VM_DEVICE_VERSION_H
22
22
#define INCLUDE_ALLOW_USERLEVEL
23
#define INCLUDE_ALLOW_DISTRIBUTE
24
#define INCLUDE_ALLOW_VMKDRIVERS
24
25
#define INCLUDE_ALLOW_MODULE
25
26
#define INCLUDE_ALLOW_VMKERNEL
26
27
#define INCLUDE_ALLOW_VMCORE
49
50
* VMware chipset (Subsystem ID for our motherboards)
50
51
* VMware e1000 (Subsystem ID)
51
52
* VMware vmxnet3 (Uniform Pass Through NIC)
53
* VMware HD Audio codec
54
* VMware HD Audio controller
53
#define PCI_VENDOR_ID_VMWARE 0x15AD
54
#define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405
55
#define PCI_DEVICE_ID_VMWARE_SVGA 0x0710
56
#define PCI_DEVICE_ID_VMWARE_NET 0x0720
57
#define PCI_DEVICE_ID_VMWARE_SCSI 0x0730
58
#define PCI_DEVICE_ID_VMWARE_VMCI 0x0740
59
#define PCI_DEVICE_ID_VMWARE_CHIPSET 0x1976
60
#define PCI_DEVICE_ID_VMWARE_82545EM 0x0750 /* single port */
61
#define PCI_DEVICE_ID_VMWARE_82546EB 0x0760 /* dual port */
62
#define PCI_DEVICE_ID_VMWARE_EHCI 0x0770
63
#define PCI_DEVICE_ID_VMWARE_UHCI 0x0774
64
#define PCI_DEVICE_ID_VMWARE_XHCI 0x0778
65
#define PCI_DEVICE_ID_VMWARE_1394 0x0780
66
#define PCI_DEVICE_ID_VMWARE_BRIDGE 0x0790
67
#define PCI_DEVICE_ID_VMWARE_ROOTPORT 0x07A0
68
#define PCI_DEVICE_ID_VMWARE_VMXNET3 0x07B0
69
#define PCI_DEVICE_ID_VMWARE_VMXWIFI 0x07B8
70
#define PCI_DEVICE_ID_VMWARE_PVSCSI 0x07C0
71
#define PCI_DEVICE_ID_VMWARE_82574 0x07D0
56
#define PCI_VENDOR_ID_VMWARE 0x15AD
57
#define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405
58
#define PCI_DEVICE_ID_VMWARE_SVGA 0x0710
59
#define PCI_DEVICE_ID_VMWARE_NET 0x0720
60
#define PCI_DEVICE_ID_VMWARE_SCSI 0x0730
61
#define PCI_DEVICE_ID_VMWARE_VMCI 0x0740
62
#define PCI_DEVICE_ID_VMWARE_CHIPSET 0x1976
63
#define PCI_DEVICE_ID_VMWARE_82545EM 0x0750 /* single port */
64
#define PCI_DEVICE_ID_VMWARE_82546EB 0x0760 /* dual port */
65
#define PCI_DEVICE_ID_VMWARE_EHCI 0x0770
66
#define PCI_DEVICE_ID_VMWARE_UHCI 0x0774
67
#define PCI_DEVICE_ID_VMWARE_XHCI 0x0778
68
#define PCI_DEVICE_ID_VMWARE_1394 0x0780
69
#define PCI_DEVICE_ID_VMWARE_BRIDGE 0x0790
70
#define PCI_DEVICE_ID_VMWARE_ROOTPORT 0x07A0
71
#define PCI_DEVICE_ID_VMWARE_VMXNET3 0x07B0
72
#define PCI_DEVICE_ID_VMWARE_VMXWIFI 0x07B8
73
#define PCI_DEVICE_ID_VMWARE_PVSCSI 0x07C0
74
#define PCI_DEVICE_ID_VMWARE_82574 0x07D0
75
#define PCI_DEVICE_ID_VMWARE_HDAUDIO_CODEC 0x1975
76
#define PCI_DEVICE_ID_VMWARE_HDAUDIO_CONTROLLER 0x1977
73
78
/* The hypervisor device might grow. Please leave room
74
79
* for 7 more subfunctions.
100
105
* Intel 82443BX (440 BX North Bridge and AGP Bridge)
101
106
* Intel 82545EM (e1000, server adapter, single port)
102
107
* Intel 82546EB (e1000, server adapter, dual port)
103
* Intel ICH7_16 (High Definition Audio controller)
104
108
* Intel HECI (as embedded in ich9m)
106
110
#define PCI_VENDOR_ID_INTEL 0x8086
115
119
#define PCI_DEVICE_ID_INTEL_82545EM 0x100f
116
120
#define PCI_DEVICE_ID_INTEL_82546EB 0x1010
117
121
#define PCI_DEVICE_ID_INTEL_82574 0x10d3
118
#define PCI_DEVICE_ID_INTEL_ICH7_16 0x27d8
122
#define PCI_DEVICE_ID_INTEL_82574_APPLE 0x10f6
119
123
#define PCI_DEVICE_ID_INTEL_HECI 0x2a74
125
#define E1000E_PCI_DEVICE_ID_CONFIG_STR "e1000e.pci.deviceID"
126
#define E1000E_PCI_SUB_VENDOR_ID_CONFIG_STR "e1000e.pci.subVendorID"
127
#define E1000E_PCI_SUB_DEVICE_ID_CONFIG_STR "e1000e.pci.subDeviceID"
130
* Intel HD Audio controller and Realtek ALC885 codec.
132
#define PCI_DEVICE_ID_INTEL_631XESB_632XESB 0x269a
133
#define PCI_VENDOR_ID_REALTEK 0x10ec
134
#define PCI_DEVICE_ID_REALTEK_ALC885 0x0885
138
* Fresco Logic xHCI (USB 3.0) Controller
140
#define PCI_VENDOR_ID_FRESCO 0x1B73
141
#define PCI_DEVICE_ID_FRESCO_FL1000 0x1000 // Original 1-port chip
142
#define PCI_DEVICE_ID_FRESCO_FL1009 0x1009 // New 2-port chip (Driver 3.0.98+)
143
#define PCI_DEVICE_ID_FRESCO_FL1400 0x1400 // Unknown (4-port? Dev hardware?)
146
* NEC/Renesas xHCI (USB 3.0) Controller
148
#define PCI_VENDOR_ID_NEC 0x1033
149
#define PCI_DEVICE_ID_NEC_UPD720200 0x0194
150
#define PCI_REVISION_NEC_UPD720200 0x03
151
#define PCI_FIRMWARE_NEC_UPD720200 0x3015
122
154
/************* Strings for IDE Identity Fields **************************/
123
155
#define VIDE_ID_SERIAL_STR "00000000000000000001" /* Must be 20 Bytes */
145
177
/************* SCSI implementation limits ********************************/
146
178
#define SCSI_MAX_CONTROLLERS 4 // Need more than 1 for MSCS clustering
147
179
#define SCSI_MAX_DEVICES 16 // BT-958 emulates only 16
180
#define PVSCSI_MAX_DEVICES 255 // 255 (including the controller)
182
* VSCSI_BV_INTS is the number of uint32's needed for a bit vector
183
* to cover all scsi devices per target.
185
#define VSCSI_BV_INTS CEILING(PVSCSI_MAX_DEVICES, 8 * sizeof (uint32))
148
186
#define SCSI_IDE_CHANNEL SCSI_MAX_CONTROLLERS
149
187
#define SCSI_IDE_HOSTED_CHANNEL (SCSI_MAX_CONTROLLERS + 1)
150
188
#define SCSI_MAX_CHANNELS (SCSI_MAX_CONTROLLERS + 2)
160
198
/************* Ethernet implementation limits ***************************/
161
199
#define MAX_ETHERNET_CARDS 10
201
/********************** Floppy limits ***********************************/
202
#define MAX_FLOPPY_DRIVES 2
163
204
/************* PCI Passthrough implementation limits ********************/
164
205
#define MAX_PCI_PASSTHRU_DEVICES 6