>The patch, unchanged from before, is
https://github.com/xenserver/xen-4.7.pg/blob/master/master/0001-libxl-Don-t-insert-PCI-device-into-xenstore-for-HVM-.patch
This patch means that no xenstore keys will be created for HVM. For this, I have one question that :
libxl__device_pci_add à libxl_pcidev_assignable
à libxl_device_pci_assignable_list
à get_all_assigned_devices
this call stack will happen when creating pci passthrough vm. If no backend keys exist in xenstore, get_all_assigned_devices() will not work. Because get_all_assigned_devices needs to get info from backend xenstore
keys.
So am I right?
发件人: Andrew
Cooper [mailto:andrew.cooper3@xxxxxxxxxx]
发送时间: 2017年4月10日 20:46
收件人: Wei Liu <wei.liu2@xxxxxxxxxx>; Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
抄送: lidonglin <lidonglin@xxxxxxxxxx>; xen-devel@xxxxxxxxxxxxx; Xuquan (Quan Xu) <xuquan8@xxxxxxxxxx>; sstabellini@xxxxxxxxxx; Wei Liu (wei.liu2@xxxxxxxxxx) <wei.liu2@xxxxxxxxxx>; Yanqiangjun <yanqiangjun@xxxxxxxxxx>; Fanhenglong
<fanhenglong@xxxxxxxxxx>; dengkai (A) <dengkai1@xxxxxxxxxx>
主题: Re: [Xen-devel] PCI passthrough will cause unknown device appearance in device manager of Windows OS via xenstore keys
On 10/04/17 12:24, lidonglin wrote:
Hi all:
I have one question about PCI passthrough. I found that if I created a VM with host pci device(cfg file as below), there were some xenstore keys exsiting in /local/domain/0 and /local/domain/DomID/. Besides I found one unknown
device in device manager of Windows OS with Class ID FF80 from vendor ID 5853. My questions are as below:
1.
Why do we create frontend and backend key pairs in xenstore? I think Passthrough is not PV, was it possible that we just used these keys to record something?
2.
After review the code, I think backend keys are used to record state of hostdev, some codes will query something using these keys. But for frontend keys, can we delete them?
3.
if frontend keys exist in xenstore, then unknown device will appear in device manager. Can we fix this? For an obsessive, he can’t stand for this.
This is a libxl bug which has been reported before, but nothing happened.
libxl must not start a PV pci-back when doing HVM PCI passthrough using qemu, because absolutely nothing good can come of having two different ways of poking at PCI state.
The patch, unchanged from before, is
https://github.com/xenserver/xen-4.7.pg/blob/master/master/0001-libxl-Don-t-insert-PCI-device-into-xenstore-for-HVM-.patch
~Andrew