[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] "pt_iomul_init: Error: pt_iomul_init can't open file /dev/xen/pci_iomul: No such file or directory: 0x1:0x0.0x0". in qemu-dm-example.hvm.log

  • To: <xen-devel@xxxxxxxxxxxxx>
  • From: 成会明 <chm.bj@xxxxxxxxxxx>
  • Date: Sat, 2 Nov 2013 22:57:50 +0800
  • Delivery-date: Sat, 02 Nov 2013 14:58:38 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

I want to pass through "01:00.0",declared as pci=['01:00.0'] in cfg file. but found  error log
"pt_iomul_init: Error: pt_iomul_init can't open file /dev/xen/pci_iomul: No such file or directory: 0x1:0x0.0x0".  in qemu-dm-example.hvm.log
In fact, /dev/xen/pci_iomul does not exist.
So where /dev/xen/pci_iomul implemented ?
I have searched xen and linux code, found nothing. where pci_iomul device's code implemented ?
I check tools/qemu-xen-traditional/hw/pass-through.c. and found pt_iomul_init is called if CONFIG_STUBDOM not defined.
so should CONFIG_STUBDOM be defined ?
Below is part of pass-through.c.
#define PCI_IOMUL_DEV_PATH      "/dev/xen/pci_iomul"
static void pt_iomul_init(struct pt_dev *assigned_device,
                          uint8_t r_bus, uint8_t r_dev, uint8_t r_func)
    int fd = PCI_IOMUL_INVALID_FD;
    struct pci_iomul_setup setup = {
        .segment = 0,
        .bus = r_bus,
        .dev = r_dev,
        .func = r_func,
    fd = open(PCI_IOMUL_DEV_PATH, O_RDWR);
    if ( fd < 0 ) {
        PT_LOG("Error: %s can't open file %s: %s: 0x%x:0x%x.0x%x\n",
               __func__, PCI_IOMUL_DEV_PATH, strerror(errno),
               r_bus, r_dev, r_func);
        fd = PCI_IOMUL_INVALID_FD;
Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.