CA-101571: Allow the vcpu params weight and cap value to be set independently
Signed-off-by: Ravi Pandey <ravi.pandey@citrix.com>
CP-6958 - Fix vncterm path for 64bit.
CP-6958 - Fix 64-bit build, original commit by Jon Ludlum
Merge pull request #1646 from akshayramani/Spike64

[Spike64] Fixes for 64-bit build
CP-7657: Implement PCI database merging

Signed-off-by: John Else <john.else@citrix.com>
CP-7657: Add unit tests for Pci_db.merge
CP-7657: Make pci_db non-optional in find_or_create_supported_types

Signed-off-by: John Else <john.else@citrix.com>
CP-7657: Remove hardcoded paths

Signed-off-by: John Else <john.else@citrix.com>
CP-7657: Support NVIDIA PCI database

If the supplemental NVIDIA PCI database is present, open it and merge it
with the base PCI database.

Signed-off-by: John Else <john.else@citrix.com>
Merge pull request #1653 from johnelse/vgpu-new-devices-trunk

Add support for secondary NVIDIA PCI database
CA-127975: Run sparse_dd with new subtask during cross-host VDI.copy

Previously sparse_dd (and the receiving import_raw_vdi operation)
re-used the VDI.copy task, marking it complete once the import had
finished.

This caused problems with cross-host VM.copy, as the VM.copy operation
would also watch the VDI.copy task for completion. The VM.copy would
attempt to extract the new VDI reference from the task result straight
away, but import_raw_vdi did not add this to the task result on
completion, leading to the VM.copy failing with Xml.Error.

Adding the new VDI ref to the VDI.copy task result did not fix the
problem, as in this case the VM.copy operation would immediately destroy
the VDI.copy task as soon as it was marked completed. The VDI.copy
operation would then fail, as its task no longer existed, and it would
clean up by destroying the new VDI. Meanwhile the VM.copy operation would
complete without an exception being raised.

The approach taken here is to create a new task for the import_raw_vdi
operation. VDI.copy watches for this task to be completed, and VM.copy
in turn watches for the VDI.copy operation to be completed. This way
there is no race between VDI.copy and VM.copy, and the new VDI ref is
automatically added to the VDI.copy task's result on completion.

Signed-off-by: John Else <john.else@citrix.com>
CA-127975: Add explanatory comment

Signed-off-by: John Else <john.else@citrix.com>
Merge pull request #1654 from johnelse/ca-127975

CA-127975: Run sparse_dd with new subtask during cross-host VDI.copy
CA-127324: Catch error and continue if we fail to lookup a vendor or device ID

This allows a pGPU to be created even if pci.ids is missing one of those
fields for a device.

Signed-off-by: John Else <john.else@citrix.com>
CA-127324: Resync changed vendor and device names

If a device is installed at a point when its device ID is not present in
pci.ids, it will be listed with the device name "Unknown (<device-id>)".
If an updated pci.ids is installed later, the PCI object should be
updated with the newly available device name.

This commit also fixes the above for PCI vendor IDs and names.

Signed-off-by: John Else <john.else@citrix.com>
CA-127325: Don't try to read subvendor/subdevice IDs for physical devices

We don't need these IDs, and some devices don't implement them (in which
case the old sscanf fails).

Signed-off-by: John Else <john.else@citrix.com>
Move filter_chars to parse_lspci_line

Signed-off-by: John Else <john.else@citrix.com>
Add tests for parse_lspci_line

Signed-off-by: John Else <john.else@citrix.com>
Merge pull request #1655 from johnelse/nvidia-223-trunk

Fixes to improve GPU support
CA-125187: Add copy to VDI current_operations

Signed-off-by: John Else <john.else@citrix.com>