samedi 28 avril 2012
Xen 4.2 VGA PassThrough NVIDIA: reverse revision 25240 to build Xen from revision >= 25240.
Par david techer, samedi 28 avril 2012 à 13:43 :: Xen

This patch makes sure the passthrough device belongs to pciback before
allow them passthrough to the guest. There are still many other
checks missing.
tools/libxl/libxl_pci.c
file
667 /* 668 static int libxl_pcidev_assignable(libxl_ctx *ctx, libxl_device_pci *pcidev) 669 { 670 libxl_device_pci *pcidevs; 671 int num, i; 672 673 pcidevs = libxl_device_pci_list_assignable(ctx, &num); 674 for (i = 0; i < num; i++) { 675 if (pcidevs[i].domain == pcidev->domain && 676 pcidevs[i].bus == pcidev->bus && 677 pcidevs[i].dev == pcidev->dev && 678 pcidevs[i].func == pcidev->func) 679 { 680 return 1; 681 } 682 } 683 return 0; 684 } 685 */ 686 int libxl__device_pci_add(libxl__gc *gc, uint32_t domid, libxl_device_pci *pcidev, int starting) 687 { 688 libxl_ctx *ctx = libxl__gc_owner(gc); 689 unsigned int orig_vdev, pfunc_mask; 690 libxl_device_pci *assigned; 691 int num_assigned, i, rc; 692 int stubdomid = 0; 693 694 rc = libxl__device_pci_setdefault(gc, pcidev); 695 if (rc) goto out; 696 697 /* if (!libxl_pcidev_assignable(ctx, pcidev)) { 698 LIBXL__LOG(ctx, LIBXL__LOG_ERROR, "PCI device %x:%x:%x.%x is not assignable", 699 pcidev->domain, pcidev->bus, pcidev->dev, pcidev->func); 700 rc = ERROR_FAIL; 701 goto out; 702 } 703 */Then I can compil Xen as usual.
From what I heard, Xen 4.2 may be frozen in a couple of weeks (first release candidate may appear in a couple of weeks...Sounds good!) That's the reason why I don't include those modifications in NVIDIA patches for the moment.