@@ -8980,126 +8980,126 @@ struct VM {
89808980
89818981 switch (id) {
89828982 // Red Hat + Virtio
8983- case 0x1af41000 : // Virtio network device
8984- case 0x1af41001 : // Virtio block device
8985- case 0x1af41002 : // Virtio memory balloon
8986- case 0x1af41003 : // Virtio console
8987- case 0x1af41004 : // Virtio SCSI
8988- case 0x1af41005 : // Virtio RNG
8989- case 0x1af41009 : // Virtio filesystem
8990- case 0x1af41041 : // Virtio network device
8991- case 0x1af41042 : // Virtio block device
8992- case 0x1af41043 : // Virtio console
8993- case 0x1af41044 : // Virtio RNG
8994- case 0x1af41045 : // Virtio memory balloon
8995- case 0x1af41048 : // Virtio SCSI
8996- case 0x1af41049 : // Virtio filesystem
8997- case 0x1af41050 : // Virtio GPU
8998- case 0x1af41052 : // Virtio input
8999- case 0x1af41053 : // Virtio socket
9000- case 0x1af4105a : // Virtio file system
9001- case 0x1af41110 : // Inter-VM shared memory
9002- return true ;
8983+ case 0x1af41000 : // Virtio network device
8984+ case 0x1af41001 : // Virtio block device
8985+ case 0x1af41002 : // Virtio memory balloon
8986+ case 0x1af41003 : // Virtio console
8987+ case 0x1af41004 : // Virtio SCSI
8988+ case 0x1af41005 : // Virtio RNG
8989+ case 0x1af41009 : // Virtio filesystem
8990+ case 0x1af41041 : // Virtio network device
8991+ case 0x1af41042 : // Virtio block device
8992+ case 0x1af41043 : // Virtio console
8993+ case 0x1af41044 : // Virtio RNG
8994+ case 0x1af41045 : // Virtio memory balloon
8995+ case 0x1af41048 : // Virtio SCSI
8996+ case 0x1af41049 : // Virtio filesystem
8997+ case 0x1af41050 : // Virtio GPU
8998+ case 0x1af41052 : // Virtio input
8999+ case 0x1af41053 : // Virtio socket
9000+ case 0x1af4105a : // Virtio file system
9001+ case 0x1af41110 : // Inter-VM shared memory
9002+ return true ;
90039003
9004- // VMware
9005- case 0x15ad0405 : // SVGA II Adapter
9006- case 0x15ad0710 : // SVGA Adapter
9007- case 0x15ad0720 : // VMXNET Ethernet Controller
9008- case 0x15ad0740 : // Virtual Machine Communication Interface
9009- case 0x15ad0770 : // USB2 EHCI Controller
9010- case 0x15ad0774 : // USB1.1 UHCI Controller
9011- case 0x15ad0778 : // USB3 xHCI 0.96 Controller
9012- case 0x15ad0779 : // USB3 xHCI 1.0 Controller
9013- case 0x15ad0790 : // PCI bridge
9014- case 0x15ad07a0 : // PCI Express Root Port
9015- case 0x15ad07b0 : // VMXNET3 Ethernet Controller
9016- case 0x15ad07c0 : // PVSCSI SCSI Controller
9017- case 0x15ad07e0 : // SATA AHCI controller
9018- case 0x15ad07f0 : // NVMe SSD Controller
9019- case 0x15ad0801 : // Virtual Machine Interface
9020- case 0x15ad0820 : // Paravirtual RDMA controller
9021- case 0x15ad1977 : // HD Audio Controller
9022- case 0xfffe0710 : // Virtual SVGA
9023- case 0x0e0f0001 : // Device
9024- case 0x0e0f0002 : // Virtual USB Hub
9025- case 0x0e0f0003 : // Virtual Mouse
9026- case 0x0e0f0004 : // Virtual CCID
9027- case 0x0e0f0005 : // Virtual Mass Storage
9028- case 0x0e0f0006 : // Virtual Keyboard
9029- case 0x0e0f000a : // Virtual Sensors
9030- case 0x0e0f8001 : // Root Hub
9031- case 0x0e0f8002 : // Root Hub
9032- case 0x0e0f8003 : // Root Hub
9033- case 0x0e0ff80a : // Smoker FX2
9034- return found (brands::VMWARE, dev);
9035-
9036- // Red Hat + QEMU
9037- case 0x1b360001 : // Red Hat, Inc. QEMU PCI-PCI bridge
9038- case 0x1b360002 : // Red Hat, Inc. QEMU PCI 16550A Adapter
9039- case 0x1b360003 : // Red Hat, Inc. QEMU PCI Dual-port 16550A Adapter
9040- case 0x1b360004 : // Red Hat, Inc. QEMU PCI Quad-port 16550A Adapter
9041- case 0x1b360005 : // Red Hat, Inc. QEMU PCI Test Device
9042- case 0x1b360008 : // Red Hat, Inc. QEMU PCIe Host bridge
9043- case 0x1b360009 : // Red Hat, Inc. QEMU PCI Expander bridge
9044- case 0x1b36000b : // Red Hat, Inc. QEMU PCIe Expander bridge
9045- case 0x1b36000c : // Red Hat, Inc. QEMU PCIe Root port
9046- case 0x1b36000d : // Red Hat, Inc. QEMU XHCI Host Controller
9047- case 0x1b360010 : // Red Hat, Inc. QEMU NVM Express Controller
9048- case 0x1b360011 : // Red Hat, Inc. QEMU PVPanic device
9049- case 0x1b360013 : // Red Hat, Inc. QEMU UFS Host Controller
9050- case 0x1b360100 : // Red Hat, Inc. QXL paravirtual graphic card
9051- return found (brands::QEMU, dev);
9052-
9053- // QEMU
9054- case 0x06270001 : // Adomax Technology Co., Ltd QEMU Tablet
9055- case 0x1d1d1f1f : // CNEX Labs QEMU NVM Express LightNVM Controller
9056- case 0x80865845 : // Intel Corporation QEMU NVM Express Controller
9057- case 0x1d6b0200 : // Linux Foundation Qemu Audio Device
9058- return found (brands::QEMU, dev);
9059-
9060- // vGPUs (mostly NVIDIA)
9061- case 0x10de0fe7 : // GK107GL [GRID K100 vGPU]
9062- case 0x10de0ff7 : // GK107GL [GRID K140Q vGPU]
9063- case 0x10de118d : // GK104GL [GRID K200 vGPU]
9064- case 0x10de11b0 : // GK104GL [GRID K240Q\K260Q vGPU]
9065- case 0x1ec6020f : // Vastai Technologies SG100 vGPU
9066- return true ;
9004+ // VMware
9005+ case 0x15ad0405 : // SVGA II Adapter
9006+ case 0x15ad0710 : // SVGA Adapter
9007+ case 0x15ad0720 : // VMXNET Ethernet Controller
9008+ case 0x15ad0740 : // Virtual Machine Communication Interface
9009+ case 0x15ad0770 : // USB2 EHCI Controller
9010+ case 0x15ad0774 : // USB1.1 UHCI Controller
9011+ case 0x15ad0778 : // USB3 xHCI 0.96 Controller
9012+ case 0x15ad0779 : // USB3 xHCI 1.0 Controller
9013+ case 0x15ad0790 : // PCI bridge
9014+ case 0x15ad07a0 : // PCI Express Root Port
9015+ case 0x15ad07b0 : // VMXNET3 Ethernet Controller
9016+ case 0x15ad07c0 : // PVSCSI SCSI Controller
9017+ case 0x15ad07e0 : // SATA AHCI controller
9018+ case 0x15ad07f0 : // NVMe SSD Controller
9019+ case 0x15ad0801 : // Virtual Machine Interface
9020+ case 0x15ad0820 : // Paravirtual RDMA controller
9021+ case 0x15ad1977 : // HD Audio Controller
9022+ case 0xfffe0710 : // Virtual SVGA
9023+ case 0x0e0f0001 : // Device
9024+ case 0x0e0f0002 : // Virtual USB Hub
9025+ case 0x0e0f0003 : // Virtual Mouse
9026+ case 0x0e0f0004 : // Virtual CCID
9027+ case 0x0e0f0005 : // Virtual Mass Storage
9028+ case 0x0e0f0006 : // Virtual Keyboard
9029+ case 0x0e0f000a : // Virtual Sensors
9030+ case 0x0e0f8001 : // Root Hub
9031+ case 0x0e0f8002 : // Root Hub
9032+ case 0x0e0f8003 : // Root Hub
9033+ case 0x0e0ff80a : // Smoker FX2
9034+ return found (brands::VMWARE, dev);
9035+
9036+ // Red Hat + QEMU
9037+ case 0x1b360001 : // Red Hat, Inc. QEMU PCI-PCI bridge
9038+ case 0x1b360002 : // Red Hat, Inc. QEMU PCI 16550A Adapter
9039+ case 0x1b360003 : // Red Hat, Inc. QEMU PCI Dual-port 16550A Adapter
9040+ case 0x1b360004 : // Red Hat, Inc. QEMU PCI Quad-port 16550A Adapter
9041+ case 0x1b360005 : // Red Hat, Inc. QEMU PCI Test Device
9042+ case 0x1b360008 : // Red Hat, Inc. QEMU PCIe Host bridge
9043+ case 0x1b360009 : // Red Hat, Inc. QEMU PCI Expander bridge
9044+ case 0x1b36000b : // Red Hat, Inc. QEMU PCIe Expander bridge
9045+ case 0x1b36000c : // Red Hat, Inc. QEMU PCIe Root port
9046+ case 0x1b36000d : // Red Hat, Inc. QEMU XHCI Host Controller
9047+ case 0x1b360010 : // Red Hat, Inc. QEMU NVM Express Controller
9048+ case 0x1b360011 : // Red Hat, Inc. QEMU PVPanic device
9049+ case 0x1b360013 : // Red Hat, Inc. QEMU UFS Host Controller
9050+ case 0x1b360100 : // Red Hat, Inc. QXL paravirtual graphic card
9051+ return found (brands::QEMU, dev);
9052+
9053+ // QEMU
9054+ case 0x06270001 : // Adomax Technology Co., Ltd QEMU Tablet
9055+ case 0x1d1d1f1f : // CNEX Labs QEMU NVM Express LightNVM Controller
9056+ case 0x80865845 : // Intel Corporation QEMU NVM Express Controller
9057+ case 0x1d6b0200 : // Linux Foundation Qemu Audio Device
9058+ return found (brands::QEMU, dev);
9059+
9060+ // vGPUs (mostly NVIDIA)
9061+ case 0x10de0fe7 : // GK107GL [GRID K100 vGPU]
9062+ case 0x10de0ff7 : // GK107GL [GRID K140Q vGPU]
9063+ case 0x10de118d : // GK104GL [GRID K200 vGPU]
9064+ case 0x10de11b0 : // GK104GL [GRID K240Q\K260Q vGPU]
9065+ case 0x1ec6020f : // Vastai Technologies SG100 vGPU
9066+ return true ;
90679067
9068- // VirtualBox
9069- case 0x80ee0021 : // USB Tablet
9070- case 0x80ee0022 : // multitouch tablet
9071- case 0x80eebeef : // InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
9072- case 0x80eecafe : // InnoTek Systemberatung GmbH VirtualBox Guest Service
9073- return found (brands::VBOX, dev);
9074-
9075- // Hyper-V
9076- case 0x1f3f9002 : // 3SNIC Ltd SSSNIC Ethernet VF Hyper-V
9077- case 0x1f3f9004 : // 3SNIC Ltd SSSNIC Ethernet SDI VF Hyper-V
9078- case 0x1f3f9009 : // 3SNIC Ltd SSSFC VF Hyper-V
9079- case 0x808637d9 : // Intel Corporation X722 Hyper-V Virtual Function
9080- case 0x14145353 : // Microsoft Corporation Hyper-V virtual VGA
9081- if (util::hyper_x () == HYPERV_ARTIFACT_VM) {
9082- continue ;
9083- }
9084- return found (brands::HYPERV, dev);
9085-
9086- // Parallels
9087- case 0x1ab84000 : // Virtual Machine Communication Interface
9088- case 0x1ab84005 : // Accelerated Virtual Video Adapter
9089- case 0x1ab84006 : // Memory Ballooning Controller
9090- return found (brands::PARALLELS, dev);
9091-
9092- // Xen
9093- case 0x5853c000 : // XenSource, Inc. Citrix XenServer PCI Device for Windows Update
9094- case 0xfffd0101 : // XenSource, Inc. PCI Event Channel Controller
9095- case 0x5853c147 : // XenSource, Inc. Virtualized Graphics Device
9096- case 0x5853c110 : // XenSource, Inc. Virtualized HID
9097- case 0x5853c200 : // XenSource, Inc. XCP-ng Project PCI Device for Windows Update
9098- case 0x58530001 : // XenSource, Inc. Xen Platform Device
9099- return found (brands::XEN, dev);
9100-
9101- // Connectix (VirtualPC) OHCI USB 1.1 controller
9102- case 0x29556e61 : return found (brands::VPC, dev);
9068+ // VirtualBox
9069+ case 0x80ee0021 : // USB Tablet
9070+ case 0x80ee0022 : // multitouch tablet
9071+ case 0x80eebeef : // InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
9072+ case 0x80eecafe : // InnoTek Systemberatung GmbH VirtualBox Guest Service
9073+ return found (brands::VBOX, dev);
9074+
9075+ // Hyper-V
9076+ case 0x1f3f9002 : // 3SNIC Ltd SSSNIC Ethernet VF Hyper-V
9077+ case 0x1f3f9004 : // 3SNIC Ltd SSSNIC Ethernet SDI VF Hyper-V
9078+ case 0x1f3f9009 : // 3SNIC Ltd SSSFC VF Hyper-V
9079+ case 0x808637d9 : // Intel Corporation X722 Hyper-V Virtual Function
9080+ case 0x14145353 : // Microsoft Corporation Hyper-V virtual VGA
9081+ if (util::hyper_x () == HYPERV_ARTIFACT_VM) {
9082+ continue ;
9083+ }
9084+ return found (brands::HYPERV, dev);
9085+
9086+ // Parallels
9087+ case 0x1ab84000 : // Virtual Machine Communication Interface
9088+ case 0x1ab84005 : // Accelerated Virtual Video Adapter
9089+ case 0x1ab84006 : // Memory Ballooning Controller
9090+ return found (brands::PARALLELS, dev);
9091+
9092+ // Xen
9093+ case 0x5853c000 : // XenSource, Inc. Citrix XenServer PCI Device for Windows Update
9094+ case 0xfffd0101 : // XenSource, Inc. PCI Event Channel Controller
9095+ case 0x5853c147 : // XenSource, Inc. Virtualized Graphics Device
9096+ case 0x5853c110 : // XenSource, Inc. Virtualized HID
9097+ case 0x5853c200 : // XenSource, Inc. XCP-ng Project PCI Device for Windows Update
9098+ case 0x58530001 : // XenSource, Inc. Xen Platform Device
9099+ return found (brands::XEN, dev);
9100+
9101+ // Connectix (VirtualPC) OHCI USB 1.1 controller
9102+ case 0x29556e61 : return found (brands::VPC, dev);
91039103 }
91049104
91059105 // TODO: EXTRAS TO ADD (64 instead of 32 bits for device_id field)
0 commit comments