All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2015-12-29  8:46 Cao jin
  2015-12-29  9:25 ` Cao jin
  2015-12-29 11:25 ` Michael S. Tsirkin
  0 siblings, 2 replies; 51+ messages in thread
From: Cao jin @ 2015-12-29  8:46 UTC (permalink / raw)
  To: qemu-devel; +Cc: stefano.stabellini, mst

Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
---
changelog v4:
1. strip the bugfix code, but I guess this patch should be applied after
   that bugfix patch.
2. Other little fix as per previous review

Some explanation to previous review:
1. error_setg_errno() I use in this patch will print the strerror(errno), so I
   guess it will be informative enough? example:

   error_setg_errno(errp, errno, "open %s fail", path); will print:
   "open bluhbluh fail: string_from_strerrer(errno)"

2. snprintf() has tiny tiny chance to fail, I don`t assert here, because this
   device is on-board, it init during machine initialization, in case it fails,
   the errp we set will results in error_report(err) and exit(1), at least can
   let user know why fail. see the call-chain:

   pc_xen_hvm_init_pci->pc_init1->i440fx_init->pci_create_simple-> pci_create_simple_multifunction->qdev_init_nofail

About test:
1. Compiled
2. Did a dirty hack to force create/realize this device in pc_init1(), prove
   that the realizing process is ok, I will reply this mail later to attch the
   screenshot evidence

 hw/pci-host/piix.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
index a9cb983..e91570f 100644
--- a/hw/pci-host/piix.c
+++ b/hw/pci-host/piix.c
@@ -761,7 +761,7 @@ static const IGDHostInfo igd_host_bridge_infos[] = {
     {0xa8, 4},  /* SNB: base of GTT stolen memory */
 };
 
-static int host_pci_config_read(int pos, int len, uint32_t *val)
+static void host_pci_config_read(int pos, int len, uint32_t *val, Error **errp)
 {
     char path[PATH_MAX];
     int config_fd;
@@ -769,19 +769,19 @@ static int host_pci_config_read(int pos, int len, uint32_t *val)
     /* Access real host bridge. */
     int rc = snprintf(path, size, "/sys/bus/pci/devices/%04x:%02x:%02x.%d/%s",
                       0, 0, 0, 0, "config");
-    int ret = 0;
 
     if (rc >= size || rc < 0) {
-        return -ENODEV;
+        error_setg_errno(errp, errno, "snprintf err");
     }
 
     config_fd = open(path, O_RDWR);
     if (config_fd < 0) {
-        return -ENODEV;
+        error_setg_errno(errp, errno, "open %s fail", path);
+        return;
     }
 
     if (lseek(config_fd, pos, SEEK_SET) != pos) {
-        ret = -errno;
+        error_setg_errno(errp, errno, "lseek err");
         goto out;
     }
 
@@ -789,32 +789,32 @@ static int host_pci_config_read(int pos, int len, uint32_t *val)
         rc = read(config_fd, (uint8_t *)val, len);
     } while (rc < 0 && (errno == EINTR || errno == EAGAIN));
     if (rc != len) {
-        ret = -errno;
+        error_setg_errno(errp, errno, "read err");
     }
 
 out:
     close(config_fd);
-    return ret;
 }
 
-static int igd_pt_i440fx_initfn(struct PCIDevice *pci_dev)
+static void igd_pt_i440fx_realize(struct PCIDevice *pci_dev, Error **errp)
 {
     uint32_t val = 0;
-    int rc, i, num;
+    int i, num;
     int pos, len;
+    Error *local_err = NULL;
 
     num = ARRAY_SIZE(igd_host_bridge_infos);
     for (i = 0; i < num; i++) {
         pos = igd_host_bridge_infos[i].offset;
         len = igd_host_bridge_infos[i].len;
-        rc = host_pci_config_read(pos, len, &val);
-        if (rc) {
-            return -ENODEV;
+
+        host_pci_config_read(pos, len, &val, &local_err);
+        if (local_err) {
+            error_propagate(errp, local_err);
+            return;
         }
         pci_default_write_config(pci_dev, pos, cpu_to_le32(val), len);
     }
-
-    return 0;
 }
 
 static void igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data)
@@ -822,7 +822,7 @@ static void igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data)
     DeviceClass *dc = DEVICE_CLASS(klass);
     PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
 
-    k->init = igd_pt_i440fx_initfn;
+    k->realize = igd_pt_i440fx_realize;
     dc->desc = "IGD Passthrough Host bridge";
 }
 
-- 
2.1.0

^ permalink raw reply related	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2015-12-29  8:46 [Qemu-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize() Cao jin
@ 2015-12-29  9:25 ` Cao jin
  2015-12-29 11:25 ` Michael S. Tsirkin
  1 sibling, 0 replies; 51+ messages in thread
From: Cao jin @ 2015-12-29  9:25 UTC (permalink / raw)
  To: qemu-devel; +Cc: mst, stefano.stabellini

[-- Attachment #1: Type: text/plain, Size: 4494 bytes --]

the screenshots in attachment shows:
1. this patch don`t affect the device realization.
2. also shows what that bug looks like, which is described in my 
previous patch: "bugfix: passing reference instead of value"

On 12/29/2015 04:46 PM, Cao jin wrote:
> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
> ---
> changelog v4:
> 1. strip the bugfix code, but I guess this patch should be applied after
>     that bugfix patch.
> 2. Other little fix as per previous review
>
> Some explanation to previous review:
> 1. error_setg_errno() I use in this patch will print the strerror(errno), so I
>     guess it will be informative enough? example:
>
>     error_setg_errno(errp, errno, "open %s fail", path); will print:
>     "open bluhbluh fail: string_from_strerrer(errno)"
>
> 2. snprintf() has tiny tiny chance to fail, I don`t assert here, because this
>     device is on-board, it init during machine initialization, in case it fails,
>     the errp we set will results in error_report(err) and exit(1), at least can
>     let user know why fail. see the call-chain:
>
>     pc_xen_hvm_init_pci->pc_init1->i440fx_init->pci_create_simple-> pci_create_simple_multifunction->qdev_init_nofail
>
> About test:
> 1. Compiled
> 2. Did a dirty hack to force create/realize this device in pc_init1(), prove
>     that the realizing process is ok, I will reply this mail later to attch the
>     screenshot evidence
>
>   hw/pci-host/piix.c | 30 +++++++++++++++---------------
>   1 file changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
> index a9cb983..e91570f 100644
> --- a/hw/pci-host/piix.c
> +++ b/hw/pci-host/piix.c
> @@ -761,7 +761,7 @@ static const IGDHostInfo igd_host_bridge_infos[] = {
>       {0xa8, 4},  /* SNB: base of GTT stolen memory */
>   };
>
> -static int host_pci_config_read(int pos, int len, uint32_t *val)
> +static void host_pci_config_read(int pos, int len, uint32_t *val, Error **errp)
>   {
>       char path[PATH_MAX];
>       int config_fd;
> @@ -769,19 +769,19 @@ static int host_pci_config_read(int pos, int len, uint32_t *val)
>       /* Access real host bridge. */
>       int rc = snprintf(path, size, "/sys/bus/pci/devices/%04x:%02x:%02x.%d/%s",
>                         0, 0, 0, 0, "config");
> -    int ret = 0;
>
>       if (rc >= size || rc < 0) {
> -        return -ENODEV;
> +        error_setg_errno(errp, errno, "snprintf err");
>       }
>
>       config_fd = open(path, O_RDWR);
>       if (config_fd < 0) {
> -        return -ENODEV;
> +        error_setg_errno(errp, errno, "open %s fail", path);
> +        return;
>       }
>
>       if (lseek(config_fd, pos, SEEK_SET) != pos) {
> -        ret = -errno;
> +        error_setg_errno(errp, errno, "lseek err");
>           goto out;
>       }
>
> @@ -789,32 +789,32 @@ static int host_pci_config_read(int pos, int len, uint32_t *val)
>           rc = read(config_fd, (uint8_t *)val, len);
>       } while (rc < 0 && (errno == EINTR || errno == EAGAIN));
>       if (rc != len) {
> -        ret = -errno;
> +        error_setg_errno(errp, errno, "read err");
>       }
>
>   out:
>       close(config_fd);
> -    return ret;
>   }
>
> -static int igd_pt_i440fx_initfn(struct PCIDevice *pci_dev)
> +static void igd_pt_i440fx_realize(struct PCIDevice *pci_dev, Error **errp)
>   {
>       uint32_t val = 0;
> -    int rc, i, num;
> +    int i, num;
>       int pos, len;
> +    Error *local_err = NULL;
>
>       num = ARRAY_SIZE(igd_host_bridge_infos);
>       for (i = 0; i < num; i++) {
>           pos = igd_host_bridge_infos[i].offset;
>           len = igd_host_bridge_infos[i].len;
> -        rc = host_pci_config_read(pos, len, &val);
> -        if (rc) {
> -            return -ENODEV;
> +
> +        host_pci_config_read(pos, len, &val, &local_err);
> +        if (local_err) {
> +            error_propagate(errp, local_err);
> +            return;
>           }
>           pci_default_write_config(pci_dev, pos, cpu_to_le32(val), len);
>       }
> -
> -    return 0;
>   }
>
>   static void igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data)
> @@ -822,7 +822,7 @@ static void igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data)
>       DeviceClass *dc = DEVICE_CLASS(klass);
>       PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
>
> -    k->init = igd_pt_i440fx_initfn;
> +    k->realize = igd_pt_i440fx_realize;
>       dc->desc = "IGD Passthrough Host bridge";
>   }
>
>

-- 
Yours Sincerely,

Cao Jin



[-- Attachment #2: origin.jpg --]
[-- Type: image/jpeg, Size: 80726 bytes --]

[-- Attachment #3: patch.jpg --]
[-- Type: image/jpeg, Size: 80444 bytes --]

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2015-12-29  8:46 [Qemu-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize() Cao jin
  2015-12-29  9:25 ` Cao jin
@ 2015-12-29 11:25 ` Michael S. Tsirkin
  2015-12-29 13:27   ` Cao jin
  2016-01-07 13:28   ` [Qemu-devel] " Cao jin
  1 sibling, 2 replies; 51+ messages in thread
From: Michael S. Tsirkin @ 2015-12-29 11:25 UTC (permalink / raw)
  To: Cao jin; +Cc: qemu-devel, stefano.stabellini

On Tue, Dec 29, 2015 at 04:46:03PM +0800, Cao jin wrote:
> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
> ---
> changelog v4:
> 1. strip the bugfix code, but I guess this patch should be applied after
>    that bugfix patch.
> 2. Other little fix as per previous review
> 
> Some explanation to previous review:
> 1. error_setg_errno() I use in this patch will print the strerror(errno), so I
>    guess it will be informative enough? example:
> 
>    error_setg_errno(errp, errno, "open %s fail", path); will print:
>    "open bluhbluh fail: string_from_strerrer(errno)"

I'd prefer some mention of why this is attempted too.
E.g. "igd passthrough : open bluhbluh fail"

> 2. snprintf() has tiny tiny chance to fail,

It just formats a string into a buffer. the buffer
is pre-allocated, and we know it's large enough for the data.
How can it fail?


> I don`t assert here, because this
>    device is on-board, it init during machine initialization, in case it fails,
>    the errp we set will results in error_report(err) and exit(1), at least can
>    let user know why fail. see the call-chain:
> 
>    pc_xen_hvm_init_pci->pc_init1->i440fx_init->pci_create_simple-> pci_create_simple_multifunction->qdev_init_nofail

unlike open failing, there's nothing user can do, this means there's
a coding bug somewhere, and assert is easier to debug.

> About test:
> 1. Compiled
> 2. Did a dirty hack to force create/realize this device in pc_init1(), prove
>    that the realizing process is ok, I will reply this mail later to attch the
>    screenshot evidence

Good job, thanks!
You should also Cc Tiejun Chen <tiejun.chen@intel.com> who wrote this
code, presumably with access to hardware to test on.


>  hw/pci-host/piix.c | 30 +++++++++++++++---------------
>  1 file changed, 15 insertions(+), 15 deletions(-)
> 
> diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
> index a9cb983..e91570f 100644
> --- a/hw/pci-host/piix.c
> +++ b/hw/pci-host/piix.c
> @@ -761,7 +761,7 @@ static const IGDHostInfo igd_host_bridge_infos[] = {
>      {0xa8, 4},  /* SNB: base of GTT stolen memory */
>  };
>  
> -static int host_pci_config_read(int pos, int len, uint32_t *val)
> +static void host_pci_config_read(int pos, int len, uint32_t *val, Error **errp)
>  {
>      char path[PATH_MAX];
>      int config_fd;
> @@ -769,19 +769,19 @@ static int host_pci_config_read(int pos, int len, uint32_t *val)
>      /* Access real host bridge. */
>      int rc = snprintf(path, size, "/sys/bus/pci/devices/%04x:%02x:%02x.%d/%s",
>                        0, 0, 0, 0, "config");
> -    int ret = 0;
>  
>      if (rc >= size || rc < 0) {
> -        return -ENODEV;
> +        error_setg_errno(errp, errno, "snprintf err");
>      }
>  
>      config_fd = open(path, O_RDWR);
>      if (config_fd < 0) {
> -        return -ENODEV;
> +        error_setg_errno(errp, errno, "open %s fail", path);
> +        return;
>      }
>  
>      if (lseek(config_fd, pos, SEEK_SET) != pos) {
> -        ret = -errno;
> +        error_setg_errno(errp, errno, "lseek err");
>          goto out;
>      }
>  
> @@ -789,32 +789,32 @@ static int host_pci_config_read(int pos, int len, uint32_t *val)
>          rc = read(config_fd, (uint8_t *)val, len);
>      } while (rc < 0 && (errno == EINTR || errno == EAGAIN));
>      if (rc != len) {
> -        ret = -errno;
> +        error_setg_errno(errp, errno, "read err");
>      }
>  
>  out:
>      close(config_fd);
> -    return ret;
>  }
>  
> -static int igd_pt_i440fx_initfn(struct PCIDevice *pci_dev)
> +static void igd_pt_i440fx_realize(struct PCIDevice *pci_dev, Error **errp)
>  {
>      uint32_t val = 0;
> -    int rc, i, num;
> +    int i, num;
>      int pos, len;
> +    Error *local_err = NULL;
>  
>      num = ARRAY_SIZE(igd_host_bridge_infos);
>      for (i = 0; i < num; i++) {
>          pos = igd_host_bridge_infos[i].offset;
>          len = igd_host_bridge_infos[i].len;
> -        rc = host_pci_config_read(pos, len, &val);
> -        if (rc) {
> -            return -ENODEV;
> +
> +        host_pci_config_read(pos, len, &val, &local_err);
> +        if (local_err) {
> +            error_propagate(errp, local_err);
> +            return;
>          }
>          pci_default_write_config(pci_dev, pos, cpu_to_le32(val), len);
>      }
> -
> -    return 0;
>  }
>  
>  static void igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data)
> @@ -822,7 +822,7 @@ static void igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data)
>      DeviceClass *dc = DEVICE_CLASS(klass);
>      PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
>  
> -    k->init = igd_pt_i440fx_initfn;
> +    k->realize = igd_pt_i440fx_realize;
>      dc->desc = "IGD Passthrough Host bridge";
>  }
>  
> -- 
> 2.1.0
> 
> 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2015-12-29 11:25 ` Michael S. Tsirkin
@ 2015-12-29 13:27   ` Cao jin
  2016-01-04 14:47       ` Stefano Stabellini
  2016-01-07 13:28   ` [Qemu-devel] " Cao jin
  1 sibling, 1 reply; 51+ messages in thread
From: Cao jin @ 2015-12-29 13:27 UTC (permalink / raw)
  To: Michael S. Tsirkin; +Cc: qemu-devel, stefano.stabellini

Agree with your review point. Since can`t get contact with author 
tiejun.chen@intel.com, maybe only can ask for test help from Stefano, I 
will send next version when we get in touch with stefano.

On 12/29/2015 07:25 PM, Michael S. Tsirkin wrote:
> On Tue, Dec 29, 2015 at 04:46:03PM +0800, Cao jin wrote:
>> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
>> ---
>> changelog v4:
>> 1. strip the bugfix code, but I guess this patch should be applied after
>>     that bugfix patch.
>> 2. Other little fix as per previous review
>>
>> Some explanation to previous review:
>> 1. error_setg_errno() I use in this patch will print the strerror(errno), so I
>>     guess it will be informative enough? example:
>>
>>     error_setg_errno(errp, errno, "open %s fail", path); will print:
>>     "open bluhbluh fail: string_from_strerrer(errno)"
>
> I'd prefer some mention of why this is attempted too.
> E.g. "igd passthrough : open bluhbluh fail"
>
>> 2. snprintf() has tiny tiny chance to fail,
>
> It just formats a string into a buffer. the buffer
> is pre-allocated, and we know it's large enough for the data.
> How can it fail?
>
>
>> I don`t assert here, because this
>>     device is on-board, it init during machine initialization, in case it fails,
>>     the errp we set will results in error_report(err) and exit(1), at least can
>>     let user know why fail. see the call-chain:
>>
>>     pc_xen_hvm_init_pci->pc_init1->i440fx_init->pci_create_simple-> pci_create_simple_multifunction->qdev_init_nofail
>
> unlike open failing, there's nothing user can do, this means there's
> a coding bug somewhere, and assert is easier to debug.
>
>> About test:
>> 1. Compiled
>> 2. Did a dirty hack to force create/realize this device in pc_init1(), prove
>>     that the realizing process is ok, I will reply this mail later to attch the
>>     screenshot evidence
>
> Good job, thanks!
> You should also Cc Tiejun Chen <tiejun.chen@intel.com> who wrote this
> code, presumably with access to hardware to test on.
>
>
>>   hw/pci-host/piix.c | 30 +++++++++++++++---------------
>>   1 file changed, 15 insertions(+), 15 deletions(-)
>>
>> diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
>> index a9cb983..e91570f 100644
>> --- a/hw/pci-host/piix.c
>> +++ b/hw/pci-host/piix.c
>> @@ -761,7 +761,7 @@ static const IGDHostInfo igd_host_bridge_infos[] = {
>>       {0xa8, 4},  /* SNB: base of GTT stolen memory */
>>   };
>>
>> -static int host_pci_config_read(int pos, int len, uint32_t *val)
>> +static void host_pci_config_read(int pos, int len, uint32_t *val, Error **errp)
>>   {
>>       char path[PATH_MAX];
>>       int config_fd;
>> @@ -769,19 +769,19 @@ static int host_pci_config_read(int pos, int len, uint32_t *val)
>>       /* Access real host bridge. */
>>       int rc = snprintf(path, size, "/sys/bus/pci/devices/%04x:%02x:%02x.%d/%s",
>>                         0, 0, 0, 0, "config");
>> -    int ret = 0;
>>
>>       if (rc >= size || rc < 0) {
>> -        return -ENODEV;
>> +        error_setg_errno(errp, errno, "snprintf err");
>>       }
>>
>>       config_fd = open(path, O_RDWR);
>>       if (config_fd < 0) {
>> -        return -ENODEV;
>> +        error_setg_errno(errp, errno, "open %s fail", path);
>> +        return;
>>       }
>>
>>       if (lseek(config_fd, pos, SEEK_SET) != pos) {
>> -        ret = -errno;
>> +        error_setg_errno(errp, errno, "lseek err");
>>           goto out;
>>       }
>>
>> @@ -789,32 +789,32 @@ static int host_pci_config_read(int pos, int len, uint32_t *val)
>>           rc = read(config_fd, (uint8_t *)val, len);
>>       } while (rc < 0 && (errno == EINTR || errno == EAGAIN));
>>       if (rc != len) {
>> -        ret = -errno;
>> +        error_setg_errno(errp, errno, "read err");
>>       }
>>
>>   out:
>>       close(config_fd);
>> -    return ret;
>>   }
>>
>> -static int igd_pt_i440fx_initfn(struct PCIDevice *pci_dev)
>> +static void igd_pt_i440fx_realize(struct PCIDevice *pci_dev, Error **errp)
>>   {
>>       uint32_t val = 0;
>> -    int rc, i, num;
>> +    int i, num;
>>       int pos, len;
>> +    Error *local_err = NULL;
>>
>>       num = ARRAY_SIZE(igd_host_bridge_infos);
>>       for (i = 0; i < num; i++) {
>>           pos = igd_host_bridge_infos[i].offset;
>>           len = igd_host_bridge_infos[i].len;
>> -        rc = host_pci_config_read(pos, len, &val);
>> -        if (rc) {
>> -            return -ENODEV;
>> +
>> +        host_pci_config_read(pos, len, &val, &local_err);
>> +        if (local_err) {
>> +            error_propagate(errp, local_err);
>> +            return;
>>           }
>>           pci_default_write_config(pci_dev, pos, cpu_to_le32(val), len);
>>       }
>> -
>> -    return 0;
>>   }
>>
>>   static void igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data)
>> @@ -822,7 +822,7 @@ static void igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data)
>>       DeviceClass *dc = DEVICE_CLASS(klass);
>>       PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
>>
>> -    k->init = igd_pt_i440fx_initfn;
>> +    k->realize = igd_pt_i440fx_realize;
>>       dc->desc = "IGD Passthrough Host bridge";
>>   }
>>
>> --
>> 2.1.0
>>
>>
>
>
> .
>

-- 
Yours Sincerely,

Cao Jin

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2015-12-29 13:27   ` Cao jin
@ 2016-01-04 14:47       ` Stefano Stabellini
  0 siblings, 0 replies; 51+ messages in thread
From: Stefano Stabellini @ 2016-01-04 14:47 UTC (permalink / raw)
  To: Cao jin
  Cc: xen-devel, Lars Kurth, stefano.stabellini, qemu-devel,
	Michael S. Tsirkin

Unfortunately I don't have a setup to test this either. Maybe Lars can
find out who should be involved on the Intel side on this.

In any case, the patch looks good to me. It would be nice to get
feedback from somebody at Intel before applying it, but if we don't get
any to your next version of the patch, I'll probably apply it anyway to
my next branch.

On Tue, 29 Dec 2015, Cao jin wrote:
> Agree with your review point. Since can`t get contact with author
> tiejun.chen@intel.com, maybe only can ask for test help from Stefano, I will
> send next version when we get in touch with stefano.
> 
> On 12/29/2015 07:25 PM, Michael S. Tsirkin wrote:
> > On Tue, Dec 29, 2015 at 04:46:03PM +0800, Cao jin wrote:
> > > Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
> > > ---
> > > changelog v4:
> > > 1. strip the bugfix code, but I guess this patch should be applied after
> > >     that bugfix patch.
> > > 2. Other little fix as per previous review
> > > 
> > > Some explanation to previous review:
> > > 1. error_setg_errno() I use in this patch will print the strerror(errno),
> > > so I
> > >     guess it will be informative enough? example:
> > > 
> > >     error_setg_errno(errp, errno, "open %s fail", path); will print:
> > >     "open bluhbluh fail: string_from_strerrer(errno)"
> > 
> > I'd prefer some mention of why this is attempted too.
> > E.g. "igd passthrough : open bluhbluh fail"
> > 
> > > 2. snprintf() has tiny tiny chance to fail,
> > 
> > It just formats a string into a buffer. the buffer
> > is pre-allocated, and we know it's large enough for the data.
> > How can it fail?
> > 
> > 
> > > I don`t assert here, because this
> > >     device is on-board, it init during machine initialization, in case it
> > > fails,
> > >     the errp we set will results in error_report(err) and exit(1), at
> > > least can
> > >     let user know why fail. see the call-chain:
> > > 
> > >     pc_xen_hvm_init_pci->pc_init1->i440fx_init->pci_create_simple->
> > > pci_create_simple_multifunction->qdev_init_nofail
> > 
> > unlike open failing, there's nothing user can do, this means there's
> > a coding bug somewhere, and assert is easier to debug.
> > 
> > > About test:
> > > 1. Compiled
> > > 2. Did a dirty hack to force create/realize this device in pc_init1(),
> > > prove
> > >     that the realizing process is ok, I will reply this mail later to
> > > attch the
> > >     screenshot evidence
> > 
> > Good job, thanks!
> > You should also Cc Tiejun Chen <tiejun.chen@intel.com> who wrote this
> > code, presumably with access to hardware to test on.
> > 
> > 
> > >   hw/pci-host/piix.c | 30 +++++++++++++++---------------
> > >   1 file changed, 15 insertions(+), 15 deletions(-)
> > > 
> > > diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
> > > index a9cb983..e91570f 100644
> > > --- a/hw/pci-host/piix.c
> > > +++ b/hw/pci-host/piix.c
> > > @@ -761,7 +761,7 @@ static const IGDHostInfo igd_host_bridge_infos[] = {
> > >       {0xa8, 4},  /* SNB: base of GTT stolen memory */
> > >   };
> > > 
> > > -static int host_pci_config_read(int pos, int len, uint32_t *val)
> > > +static void host_pci_config_read(int pos, int len, uint32_t *val, Error
> > > **errp)
> > >   {
> > >       char path[PATH_MAX];
> > >       int config_fd;
> > > @@ -769,19 +769,19 @@ static int host_pci_config_read(int pos, int len,
> > > uint32_t *val)
> > >       /* Access real host bridge. */
> > >       int rc = snprintf(path, size,
> > > "/sys/bus/pci/devices/%04x:%02x:%02x.%d/%s",
> > >                         0, 0, 0, 0, "config");
> > > -    int ret = 0;
> > > 
> > >       if (rc >= size || rc < 0) {
> > > -        return -ENODEV;
> > > +        error_setg_errno(errp, errno, "snprintf err");
> > >       }
> > > 
> > >       config_fd = open(path, O_RDWR);
> > >       if (config_fd < 0) {
> > > -        return -ENODEV;
> > > +        error_setg_errno(errp, errno, "open %s fail", path);
> > > +        return;
> > >       }
> > > 
> > >       if (lseek(config_fd, pos, SEEK_SET) != pos) {
> > > -        ret = -errno;
> > > +        error_setg_errno(errp, errno, "lseek err");
> > >           goto out;
> > >       }
> > > 
> > > @@ -789,32 +789,32 @@ static int host_pci_config_read(int pos, int len,
> > > uint32_t *val)
> > >           rc = read(config_fd, (uint8_t *)val, len);
> > >       } while (rc < 0 && (errno == EINTR || errno == EAGAIN));
> > >       if (rc != len) {
> > > -        ret = -errno;
> > > +        error_setg_errno(errp, errno, "read err");
> > >       }
> > > 
> > >   out:
> > >       close(config_fd);
> > > -    return ret;
> > >   }
> > > 
> > > -static int igd_pt_i440fx_initfn(struct PCIDevice *pci_dev)
> > > +static void igd_pt_i440fx_realize(struct PCIDevice *pci_dev, Error
> > > **errp)
> > >   {
> > >       uint32_t val = 0;
> > > -    int rc, i, num;
> > > +    int i, num;
> > >       int pos, len;
> > > +    Error *local_err = NULL;
> > > 
> > >       num = ARRAY_SIZE(igd_host_bridge_infos);
> > >       for (i = 0; i < num; i++) {
> > >           pos = igd_host_bridge_infos[i].offset;
> > >           len = igd_host_bridge_infos[i].len;
> > > -        rc = host_pci_config_read(pos, len, &val);
> > > -        if (rc) {
> > > -            return -ENODEV;
> > > +
> > > +        host_pci_config_read(pos, len, &val, &local_err);
> > > +        if (local_err) {
> > > +            error_propagate(errp, local_err);
> > > +            return;
> > >           }
> > >           pci_default_write_config(pci_dev, pos, cpu_to_le32(val), len);
> > >       }
> > > -
> > > -    return 0;
> > >   }
> > > 
> > >   static void igd_passthrough_i440fx_class_init(ObjectClass *klass, void
> > > *data)
> > > @@ -822,7 +822,7 @@ static void
> > > igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data)
> > >       DeviceClass *dc = DEVICE_CLASS(klass);
> > >       PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
> > > 
> > > -    k->init = igd_pt_i440fx_initfn;
> > > +    k->realize = igd_pt_i440fx_realize;
> > >       dc->desc = "IGD Passthrough Host bridge";
> > >   }
> > > 
> > > --
> > > 2.1.0
> > > 
> > > 
> > 
> > 
> > .
> > 
> 
> -- 
> Yours Sincerely,
> 
> Cao Jin
> 
> 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-04 14:47       ` Stefano Stabellini
  0 siblings, 0 replies; 51+ messages in thread
From: Stefano Stabellini @ 2016-01-04 14:47 UTC (permalink / raw)
  To: Cao jin
  Cc: xen-devel, Lars Kurth, stefano.stabellini, qemu-devel,
	Michael S. Tsirkin

Unfortunately I don't have a setup to test this either. Maybe Lars can
find out who should be involved on the Intel side on this.

In any case, the patch looks good to me. It would be nice to get
feedback from somebody at Intel before applying it, but if we don't get
any to your next version of the patch, I'll probably apply it anyway to
my next branch.

On Tue, 29 Dec 2015, Cao jin wrote:
> Agree with your review point. Since can`t get contact with author
> tiejun.chen@intel.com, maybe only can ask for test help from Stefano, I will
> send next version when we get in touch with stefano.
> 
> On 12/29/2015 07:25 PM, Michael S. Tsirkin wrote:
> > On Tue, Dec 29, 2015 at 04:46:03PM +0800, Cao jin wrote:
> > > Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
> > > ---
> > > changelog v4:
> > > 1. strip the bugfix code, but I guess this patch should be applied after
> > >     that bugfix patch.
> > > 2. Other little fix as per previous review
> > > 
> > > Some explanation to previous review:
> > > 1. error_setg_errno() I use in this patch will print the strerror(errno),
> > > so I
> > >     guess it will be informative enough? example:
> > > 
> > >     error_setg_errno(errp, errno, "open %s fail", path); will print:
> > >     "open bluhbluh fail: string_from_strerrer(errno)"
> > 
> > I'd prefer some mention of why this is attempted too.
> > E.g. "igd passthrough : open bluhbluh fail"
> > 
> > > 2. snprintf() has tiny tiny chance to fail,
> > 
> > It just formats a string into a buffer. the buffer
> > is pre-allocated, and we know it's large enough for the data.
> > How can it fail?
> > 
> > 
> > > I don`t assert here, because this
> > >     device is on-board, it init during machine initialization, in case it
> > > fails,
> > >     the errp we set will results in error_report(err) and exit(1), at
> > > least can
> > >     let user know why fail. see the call-chain:
> > > 
> > >     pc_xen_hvm_init_pci->pc_init1->i440fx_init->pci_create_simple->
> > > pci_create_simple_multifunction->qdev_init_nofail
> > 
> > unlike open failing, there's nothing user can do, this means there's
> > a coding bug somewhere, and assert is easier to debug.
> > 
> > > About test:
> > > 1. Compiled
> > > 2. Did a dirty hack to force create/realize this device in pc_init1(),
> > > prove
> > >     that the realizing process is ok, I will reply this mail later to
> > > attch the
> > >     screenshot evidence
> > 
> > Good job, thanks!
> > You should also Cc Tiejun Chen <tiejun.chen@intel.com> who wrote this
> > code, presumably with access to hardware to test on.
> > 
> > 
> > >   hw/pci-host/piix.c | 30 +++++++++++++++---------------
> > >   1 file changed, 15 insertions(+), 15 deletions(-)
> > > 
> > > diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
> > > index a9cb983..e91570f 100644
> > > --- a/hw/pci-host/piix.c
> > > +++ b/hw/pci-host/piix.c
> > > @@ -761,7 +761,7 @@ static const IGDHostInfo igd_host_bridge_infos[] = {
> > >       {0xa8, 4},  /* SNB: base of GTT stolen memory */
> > >   };
> > > 
> > > -static int host_pci_config_read(int pos, int len, uint32_t *val)
> > > +static void host_pci_config_read(int pos, int len, uint32_t *val, Error
> > > **errp)
> > >   {
> > >       char path[PATH_MAX];
> > >       int config_fd;
> > > @@ -769,19 +769,19 @@ static int host_pci_config_read(int pos, int len,
> > > uint32_t *val)
> > >       /* Access real host bridge. */
> > >       int rc = snprintf(path, size,
> > > "/sys/bus/pci/devices/%04x:%02x:%02x.%d/%s",
> > >                         0, 0, 0, 0, "config");
> > > -    int ret = 0;
> > > 
> > >       if (rc >= size || rc < 0) {
> > > -        return -ENODEV;
> > > +        error_setg_errno(errp, errno, "snprintf err");
> > >       }
> > > 
> > >       config_fd = open(path, O_RDWR);
> > >       if (config_fd < 0) {
> > > -        return -ENODEV;
> > > +        error_setg_errno(errp, errno, "open %s fail", path);
> > > +        return;
> > >       }
> > > 
> > >       if (lseek(config_fd, pos, SEEK_SET) != pos) {
> > > -        ret = -errno;
> > > +        error_setg_errno(errp, errno, "lseek err");
> > >           goto out;
> > >       }
> > > 
> > > @@ -789,32 +789,32 @@ static int host_pci_config_read(int pos, int len,
> > > uint32_t *val)
> > >           rc = read(config_fd, (uint8_t *)val, len);
> > >       } while (rc < 0 && (errno == EINTR || errno == EAGAIN));
> > >       if (rc != len) {
> > > -        ret = -errno;
> > > +        error_setg_errno(errp, errno, "read err");
> > >       }
> > > 
> > >   out:
> > >       close(config_fd);
> > > -    return ret;
> > >   }
> > > 
> > > -static int igd_pt_i440fx_initfn(struct PCIDevice *pci_dev)
> > > +static void igd_pt_i440fx_realize(struct PCIDevice *pci_dev, Error
> > > **errp)
> > >   {
> > >       uint32_t val = 0;
> > > -    int rc, i, num;
> > > +    int i, num;
> > >       int pos, len;
> > > +    Error *local_err = NULL;
> > > 
> > >       num = ARRAY_SIZE(igd_host_bridge_infos);
> > >       for (i = 0; i < num; i++) {
> > >           pos = igd_host_bridge_infos[i].offset;
> > >           len = igd_host_bridge_infos[i].len;
> > > -        rc = host_pci_config_read(pos, len, &val);
> > > -        if (rc) {
> > > -            return -ENODEV;
> > > +
> > > +        host_pci_config_read(pos, len, &val, &local_err);
> > > +        if (local_err) {
> > > +            error_propagate(errp, local_err);
> > > +            return;
> > >           }
> > >           pci_default_write_config(pci_dev, pos, cpu_to_le32(val), len);
> > >       }
> > > -
> > > -    return 0;
> > >   }
> > > 
> > >   static void igd_passthrough_i440fx_class_init(ObjectClass *klass, void
> > > *data)
> > > @@ -822,7 +822,7 @@ static void
> > > igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data)
> > >       DeviceClass *dc = DEVICE_CLASS(klass);
> > >       PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
> > > 
> > > -    k->init = igd_pt_i440fx_initfn;
> > > +    k->realize = igd_pt_i440fx_realize;
> > >       dc->desc = "IGD Passthrough Host bridge";
> > >   }
> > > 
> > > --
> > > 2.1.0
> > > 
> > > 
> > 
> > 
> > .
> > 
> 
> -- 
> Yours Sincerely,
> 
> Cao Jin
> 
> 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-04 14:47       ` Stefano Stabellini
@ 2016-01-04 15:33         ` Lars Kurth
  -1 siblings, 0 replies; 51+ messages in thread
From: Lars Kurth @ 2016-01-04 15:33 UTC (permalink / raw)
  To: Stefano Stabellini, Cao jin; +Cc: xen-devel, qemu-devel, Michael S. Tsirkin



On 04/01/2016 14:47, "Stefano Stabellini"
<stefano.stabellini@eu.citrix.com> wrote:

>Unfortunately I don't have a setup to test this either. Maybe Lars can
>find out who should be involved on the Intel side on this.

I can certainly help to this and get back to you. What exactly are we
asking Intel to do?
It is not clear to me from this email thread

Regards
Lars


^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-04 15:33         ` Lars Kurth
  0 siblings, 0 replies; 51+ messages in thread
From: Lars Kurth @ 2016-01-04 15:33 UTC (permalink / raw)
  To: Cao jin; +Cc: xen-devel, Stefano Stabellini, qemu-devel, Michael S. Tsirkin



On 04/01/2016 14:47, "Stefano Stabellini"
<stefano.stabellini@eu.citrix.com> wrote:

>Unfortunately I don't have a setup to test this either. Maybe Lars can
>find out who should be involved on the Intel side on this.

I can certainly help to this and get back to you. What exactly are we
asking Intel to do?
It is not clear to me from this email thread

Regards
Lars

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-04 15:33         ` Lars Kurth
@ 2016-01-04 15:41           ` Stefano Stabellini
  -1 siblings, 0 replies; 51+ messages in thread
From: Stefano Stabellini @ 2016-01-04 15:41 UTC (permalink / raw)
  To: Lars Kurth
  Cc: Cao jin, xen-devel, Stefano Stabellini, qemu-devel, Michael S. Tsirkin

On Mon, 4 Jan 2016, Lars Kurth wrote:
> On 04/01/2016 14:47, "Stefano Stabellini"
> <stefano.stabellini@eu.citrix.com> wrote:
> 
> >Unfortunately I don't have a setup to test this either. Maybe Lars can
> >find out who should be involved on the Intel side on this.
> 
> I can certainly help to this and get back to you. What exactly are we
> asking Intel to do?
> It is not clear to me from this email thread

Tiejun Chen, the author of the Intel graphic card passthrough patches
for QEMU, seems to have left the company. It would be nice if somebody
else tested this patch with an intel graphic card assigned to a guest
VM.

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-04 15:41           ` Stefano Stabellini
  0 siblings, 0 replies; 51+ messages in thread
From: Stefano Stabellini @ 2016-01-04 15:41 UTC (permalink / raw)
  To: Lars Kurth
  Cc: Cao jin, xen-devel, Stefano Stabellini, qemu-devel, Michael S. Tsirkin

On Mon, 4 Jan 2016, Lars Kurth wrote:
> On 04/01/2016 14:47, "Stefano Stabellini"
> <stefano.stabellini@eu.citrix.com> wrote:
> 
> >Unfortunately I don't have a setup to test this either. Maybe Lars can
> >find out who should be involved on the Intel side on this.
> 
> I can certainly help to this and get back to you. What exactly are we
> asking Intel to do?
> It is not clear to me from this email thread

Tiejun Chen, the author of the Intel graphic card passthrough patches
for QEMU, seems to have left the company. It would be nice if somebody
else tested this patch with an intel graphic card assigned to a guest
VM.

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-04 15:41           ` Stefano Stabellini
  (?)
@ 2016-01-04 19:49           ` Konrad Rzeszutek Wilk
  -1 siblings, 0 replies; 51+ messages in thread
From: Konrad Rzeszutek Wilk @ 2016-01-04 19:49 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, qemu-devel, Cao jin,
	Stefano Stabellini

On Mon, Jan 04, 2016 at 03:41:28PM +0000, Stefano Stabellini wrote:
> On Mon, 4 Jan 2016, Lars Kurth wrote:
> > On 04/01/2016 14:47, "Stefano Stabellini"
> > <stefano.stabellini@eu.citrix.com> wrote:
> > 
> > >Unfortunately I don't have a setup to test this either. Maybe Lars can
> > >find out who should be involved on the Intel side on this.
> > 
> > I can certainly help to this and get back to you. What exactly are we
> > asking Intel to do?
> > It is not clear to me from this email thread
> 
> Tiejun Chen, the author of the Intel graphic card passthrough patches
> for QEMU, seems to have left the company. It would be nice if somebody
> else tested this patch with an intel graphic card assigned to a guest
> VM.

That shouldn't be that troublesome. I presume you need to test this
on a Haswell or later version of hardware?

Do you have a branch of these patches (plus other?) so I can test it?
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-04 15:41           ` Stefano Stabellini
@ 2016-01-06 10:21             ` Lars Kurth
  -1 siblings, 0 replies; 51+ messages in thread
From: Lars Kurth @ 2016-01-06 10:21 UTC (permalink / raw)
  To: Stefano Stabellini, xudong.hao
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, qemu-devel, Cao jin,
	Stefano Stabellini

Hi folks,
let me introduce you to Xudong from Intel, who is willing to help out.
Best Regards
Lars

> On 4 Jan 2016, at 15:41, Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:
> 
> On Mon, 4 Jan 2016, Lars Kurth wrote:
>> On 04/01/2016 14:47, "Stefano Stabellini"
>> <stefano.stabellini@eu.citrix.com> wrote:
>> 
>>> Unfortunately I don't have a setup to test this either. Maybe Lars can
>>> find out who should be involved on the Intel side on this.
>> 
>> I can certainly help to this and get back to you. What exactly are we
>> asking Intel to do?
>> It is not clear to me from this email thread
> 
> Tiejun Chen, the author of the Intel graphic card passthrough patches
> for QEMU, seems to have left the company. It would be nice if somebody
> else tested this patch with an intel graphic card assigned to a guest
> VM.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-06 10:21             ` Lars Kurth
  0 siblings, 0 replies; 51+ messages in thread
From: Lars Kurth @ 2016-01-06 10:21 UTC (permalink / raw)
  To: Stefano Stabellini, xudong.hao
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, qemu-devel, Cao jin,
	Stefano Stabellini

Hi folks,
let me introduce you to Xudong from Intel, who is willing to help out.
Best Regards
Lars

> On 4 Jan 2016, at 15:41, Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:
> 
> On Mon, 4 Jan 2016, Lars Kurth wrote:
>> On 04/01/2016 14:47, "Stefano Stabellini"
>> <stefano.stabellini@eu.citrix.com> wrote:
>> 
>>> Unfortunately I don't have a setup to test this either. Maybe Lars can
>>> find out who should be involved on the Intel side on this.
>> 
>> I can certainly help to this and get back to you. What exactly are we
>> asking Intel to do?
>> It is not clear to me from this email thread
> 
> Tiejun Chen, the author of the Intel graphic card passthrough patches
> for QEMU, seems to have left the company. It would be nice if somebody
> else tested this patch with an intel graphic card assigned to a guest
> VM.
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-06 10:21             ` Lars Kurth
@ 2016-01-06 12:18               ` Stefano Stabellini
  -1 siblings, 0 replies; 51+ messages in thread
From: Stefano Stabellini @ 2016-01-06 12:18 UTC (permalink / raw)
  To: Lars Kurth
  Cc: Lars Kurth, xen-devel, Stefano Stabellini, Michael S. Tsirkin,
	xudong.hao, qemu-devel, Cao jin, Stefano Stabellini

Hello Xudong,

please test this patch:

http://marc.info/?l=qemu-devel&m=145137863501079

with an intel graphic card assigned to a Xen guest. If everything still
works as expected, please reply with your Tested-by.

Thanks,

Stefano

On Wed, 6 Jan 2016, Lars Kurth wrote:
> Hi folks,
> let me introduce you to Xudong from Intel, who is willing to help out.
> Best Regards
> Lars
> 
> > On 4 Jan 2016, at 15:41, Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:
> > 
> > On Mon, 4 Jan 2016, Lars Kurth wrote:
> >> On 04/01/2016 14:47, "Stefano Stabellini"
> >> <stefano.stabellini@eu.citrix.com> wrote:
> >> 
> >>> Unfortunately I don't have a setup to test this either. Maybe Lars can
> >>> find out who should be involved on the Intel side on this.
> >> 
> >> I can certainly help to this and get back to you. What exactly are we
> >> asking Intel to do?
> >> It is not clear to me from this email thread
> > 
> > Tiejun Chen, the author of the Intel graphic card passthrough patches
> > for QEMU, seems to have left the company. It would be nice if somebody
> > else tested this patch with an intel graphic card assigned to a guest
> > VM.
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-06 12:18               ` Stefano Stabellini
  0 siblings, 0 replies; 51+ messages in thread
From: Stefano Stabellini @ 2016-01-06 12:18 UTC (permalink / raw)
  To: Lars Kurth
  Cc: Lars Kurth, xen-devel, Stefano Stabellini, Michael S. Tsirkin,
	xudong.hao, qemu-devel, Cao jin, Stefano Stabellini

Hello Xudong,

please test this patch:

http://marc.info/?l=qemu-devel&m=145137863501079

with an intel graphic card assigned to a Xen guest. If everything still
works as expected, please reply with your Tested-by.

Thanks,

Stefano

On Wed, 6 Jan 2016, Lars Kurth wrote:
> Hi folks,
> let me introduce you to Xudong from Intel, who is willing to help out.
> Best Regards
> Lars
> 
> > On 4 Jan 2016, at 15:41, Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:
> > 
> > On Mon, 4 Jan 2016, Lars Kurth wrote:
> >> On 04/01/2016 14:47, "Stefano Stabellini"
> >> <stefano.stabellini@eu.citrix.com> wrote:
> >> 
> >>> Unfortunately I don't have a setup to test this either. Maybe Lars can
> >>> find out who should be involved on the Intel side on this.
> >> 
> >> I can certainly help to this and get back to you. What exactly are we
> >> asking Intel to do?
> >> It is not clear to me from this email thread
> > 
> > Tiejun Chen, the author of the Intel graphic card passthrough patches
> > for QEMU, seems to have left the company. It would be nice if somebody
> > else tested this patch with an intel graphic card assigned to a guest
> > VM.
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xen.org
> > http://lists.xen.org/xen-devel
> 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-06 12:18               ` Stefano Stabellini
@ 2016-01-07  1:32                 ` Hao, Xudong
  -1 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-07  1:32 UTC (permalink / raw)
  To: Stefano Stabellini, Lars Kurth
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, qemu-devel, Cao jin,
	Stefano Stabellini

Sure. I'll test it soon.

Thanks,
-Xudong

> -----Original Message-----
> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> Sent: Wednesday, January 6, 2016 8:18 PM
> To: Lars Kurth <lars.kurth.xen@gmail.com>
> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao, Xudong
> <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
> <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> <mst@redhat.com>
> Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> 
> Hello Xudong,
> 
> please test this patch:
> 
> http://marc.info/?l=qemu-devel&m=145137863501079
> 
> with an intel graphic card assigned to a Xen guest. If everything still works as
> expected, please reply with your Tested-by.
> 
> Thanks,
> 
> Stefano
> 
> On Wed, 6 Jan 2016, Lars Kurth wrote:
> > Hi folks,
> > let me introduce you to Xudong from Intel, who is willing to help out.
> > Best Regards
> > Lars
> >
> > > On 4 Jan 2016, at 15:41, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> wrote:
> > >
> > > On Mon, 4 Jan 2016, Lars Kurth wrote:
> > >> On 04/01/2016 14:47, "Stefano Stabellini"
> > >> <stefano.stabellini@eu.citrix.com> wrote:
> > >>
> > >>> Unfortunately I don't have a setup to test this either. Maybe Lars
> > >>> can find out who should be involved on the Intel side on this.
> > >>
> > >> I can certainly help to this and get back to you. What exactly are
> > >> we asking Intel to do?
> > >> It is not clear to me from this email thread
> > >
> > > Tiejun Chen, the author of the Intel graphic card passthrough
> > > patches for QEMU, seems to have left the company. It would be nice
> > > if somebody else tested this patch with an intel graphic card
> > > assigned to a guest VM.
> > >
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@lists.xen.org
> > > http://lists.xen.org/xen-devel
> >

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-07  1:32                 ` Hao, Xudong
  0 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-07  1:32 UTC (permalink / raw)
  To: Stefano Stabellini, Lars Kurth
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, qemu-devel, Cao jin,
	Stefano Stabellini

Sure. I'll test it soon.

Thanks,
-Xudong

> -----Original Message-----
> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> Sent: Wednesday, January 6, 2016 8:18 PM
> To: Lars Kurth <lars.kurth.xen@gmail.com>
> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao, Xudong
> <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
> <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> <mst@redhat.com>
> Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> 
> Hello Xudong,
> 
> please test this patch:
> 
> http://marc.info/?l=qemu-devel&m=145137863501079
> 
> with an intel graphic card assigned to a Xen guest. If everything still works as
> expected, please reply with your Tested-by.
> 
> Thanks,
> 
> Stefano
> 
> On Wed, 6 Jan 2016, Lars Kurth wrote:
> > Hi folks,
> > let me introduce you to Xudong from Intel, who is willing to help out.
> > Best Regards
> > Lars
> >
> > > On 4 Jan 2016, at 15:41, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> wrote:
> > >
> > > On Mon, 4 Jan 2016, Lars Kurth wrote:
> > >> On 04/01/2016 14:47, "Stefano Stabellini"
> > >> <stefano.stabellini@eu.citrix.com> wrote:
> > >>
> > >>> Unfortunately I don't have a setup to test this either. Maybe Lars
> > >>> can find out who should be involved on the Intel side on this.
> > >>
> > >> I can certainly help to this and get back to you. What exactly are
> > >> we asking Intel to do?
> > >> It is not clear to me from this email thread
> > >
> > > Tiejun Chen, the author of the Intel graphic card passthrough
> > > patches for QEMU, seems to have left the company. It would be nice
> > > if somebody else tested this patch with an intel graphic card
> > > assigned to a guest VM.
> > >
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@lists.xen.org
> > > http://lists.xen.org/xen-devel
> >

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2015-12-29 11:25 ` Michael S. Tsirkin
  2015-12-29 13:27   ` Cao jin
@ 2016-01-07 13:28   ` Cao jin
  2016-01-07 15:01     ` Stefano Stabellini
  1 sibling, 1 reply; 51+ messages in thread
From: Cao jin @ 2016-01-07 13:28 UTC (permalink / raw)
  To: Michael S. Tsirkin; +Cc: qemu-devel, stefano.stabellini

Hi
     Since Gerd has a whole patchset that covers this, Shall I continue 
with a new version of this?

On 12/29/2015 07:25 PM, Michael S. Tsirkin wrote:
> On Tue, Dec 29, 2015 at 04:46:03PM +0800, Cao jin wrote:
>> Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
>> ---
>> changelog v4:
>> 1. strip the bugfix code, but I guess this patch should be applied after
>>     that bugfix patch.
>> 2. Other little fix as per previous review
>>
>> Some explanation to previous review:
>> 1. error_setg_errno() I use in this patch will print the strerror(errno), so I
>>     guess it will be informative enough? example:
>>
>>     error_setg_errno(errp, errno, "open %s fail", path); will print:
>>     "open bluhbluh fail: string_from_strerrer(errno)"
>
> I'd prefer some mention of why this is attempted too.
> E.g. "igd passthrough : open bluhbluh fail"
>
>> 2. snprintf() has tiny tiny chance to fail,
>
> It just formats a string into a buffer. the buffer
> is pre-allocated, and we know it's large enough for the data.
> How can it fail?
>
>
>> I don`t assert here, because this
>>     device is on-board, it init during machine initialization, in case it fails,
>>     the errp we set will results in error_report(err) and exit(1), at least can
>>     let user know why fail. see the call-chain:
>>
>>     pc_xen_hvm_init_pci->pc_init1->i440fx_init->pci_create_simple-> pci_create_simple_multifunction->qdev_init_nofail
>
> unlike open failing, there's nothing user can do, this means there's
> a coding bug somewhere, and assert is easier to debug.
>
>> About test:
>> 1. Compiled
>> 2. Did a dirty hack to force create/realize this device in pc_init1(), prove
>>     that the realizing process is ok, I will reply this mail later to attch the
>>     screenshot evidence
>
> Good job, thanks!
> You should also Cc Tiejun Chen <tiejun.chen@intel.com> who wrote this
> code, presumably with access to hardware to test on.
>
>
>>   hw/pci-host/piix.c | 30 +++++++++++++++---------------
>>   1 file changed, 15 insertions(+), 15 deletions(-)
>>
>> diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
>> index a9cb983..e91570f 100644
>> --- a/hw/pci-host/piix.c
>> +++ b/hw/pci-host/piix.c
>> @@ -761,7 +761,7 @@ static const IGDHostInfo igd_host_bridge_infos[] = {
>>       {0xa8, 4},  /* SNB: base of GTT stolen memory */
>>   };
>>
>> -static int host_pci_config_read(int pos, int len, uint32_t *val)
>> +static void host_pci_config_read(int pos, int len, uint32_t *val, Error **errp)
>>   {
>>       char path[PATH_MAX];
>>       int config_fd;
>> @@ -769,19 +769,19 @@ static int host_pci_config_read(int pos, int len, uint32_t *val)
>>       /* Access real host bridge. */
>>       int rc = snprintf(path, size, "/sys/bus/pci/devices/%04x:%02x:%02x.%d/%s",
>>                         0, 0, 0, 0, "config");
>> -    int ret = 0;
>>
>>       if (rc >= size || rc < 0) {
>> -        return -ENODEV;
>> +        error_setg_errno(errp, errno, "snprintf err");
>>       }
>>
>>       config_fd = open(path, O_RDWR);
>>       if (config_fd < 0) {
>> -        return -ENODEV;
>> +        error_setg_errno(errp, errno, "open %s fail", path);
>> +        return;
>>       }
>>
>>       if (lseek(config_fd, pos, SEEK_SET) != pos) {
>> -        ret = -errno;
>> +        error_setg_errno(errp, errno, "lseek err");
>>           goto out;
>>       }
>>
>> @@ -789,32 +789,32 @@ static int host_pci_config_read(int pos, int len, uint32_t *val)
>>           rc = read(config_fd, (uint8_t *)val, len);
>>       } while (rc < 0 && (errno == EINTR || errno == EAGAIN));
>>       if (rc != len) {
>> -        ret = -errno;
>> +        error_setg_errno(errp, errno, "read err");
>>       }
>>
>>   out:
>>       close(config_fd);
>> -    return ret;
>>   }
>>
>> -static int igd_pt_i440fx_initfn(struct PCIDevice *pci_dev)
>> +static void igd_pt_i440fx_realize(struct PCIDevice *pci_dev, Error **errp)
>>   {
>>       uint32_t val = 0;
>> -    int rc, i, num;
>> +    int i, num;
>>       int pos, len;
>> +    Error *local_err = NULL;
>>
>>       num = ARRAY_SIZE(igd_host_bridge_infos);
>>       for (i = 0; i < num; i++) {
>>           pos = igd_host_bridge_infos[i].offset;
>>           len = igd_host_bridge_infos[i].len;
>> -        rc = host_pci_config_read(pos, len, &val);
>> -        if (rc) {
>> -            return -ENODEV;
>> +
>> +        host_pci_config_read(pos, len, &val, &local_err);
>> +        if (local_err) {
>> +            error_propagate(errp, local_err);
>> +            return;
>>           }
>>           pci_default_write_config(pci_dev, pos, cpu_to_le32(val), len);
>>       }
>> -
>> -    return 0;
>>   }
>>
>>   static void igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data)
>> @@ -822,7 +822,7 @@ static void igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data)
>>       DeviceClass *dc = DEVICE_CLASS(klass);
>>       PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
>>
>> -    k->init = igd_pt_i440fx_initfn;
>> +    k->realize = igd_pt_i440fx_realize;
>>       dc->desc = "IGD Passthrough Host bridge";
>>   }
>>
>> --
>> 2.1.0
>>
>>
>
>
> .
>

-- 
Yours Sincerely,

Cao jin

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-07 13:28   ` [Qemu-devel] " Cao jin
@ 2016-01-07 15:01     ` Stefano Stabellini
  2016-01-07 16:21       ` Gerd Hoffmann
  0 siblings, 1 reply; 51+ messages in thread
From: Stefano Stabellini @ 2016-01-07 15:01 UTC (permalink / raw)
  To: Cao jin; +Cc: stefano.stabellini, kraxel, qemu-devel, Michael S. Tsirkin

Your patch is simpler and more mature. Maybe it should go in before Gerd's
series?

On Thu, 7 Jan 2016, Cao jin wrote:
> Hi
>     Since Gerd has a whole patchset that covers this, Shall I continue with a
> new version of this?
> 
> On 12/29/2015 07:25 PM, Michael S. Tsirkin wrote:
> > On Tue, Dec 29, 2015 at 04:46:03PM +0800, Cao jin wrote:
> > > Signed-off-by: Cao jin <caoj.fnst@cn.fujitsu.com>
> > > ---
> > > changelog v4:
> > > 1. strip the bugfix code, but I guess this patch should be applied after
> > >     that bugfix patch.
> > > 2. Other little fix as per previous review
> > > 
> > > Some explanation to previous review:
> > > 1. error_setg_errno() I use in this patch will print the strerror(errno),
> > > so I
> > >     guess it will be informative enough? example:
> > > 
> > >     error_setg_errno(errp, errno, "open %s fail", path); will print:
> > >     "open bluhbluh fail: string_from_strerrer(errno)"
> > 
> > I'd prefer some mention of why this is attempted too.
> > E.g. "igd passthrough : open bluhbluh fail"
> > 
> > > 2. snprintf() has tiny tiny chance to fail,
> > 
> > It just formats a string into a buffer. the buffer
> > is pre-allocated, and we know it's large enough for the data.
> > How can it fail?
> > 
> > 
> > > I don`t assert here, because this
> > >     device is on-board, it init during machine initialization, in case it
> > > fails,
> > >     the errp we set will results in error_report(err) and exit(1), at
> > > least can
> > >     let user know why fail. see the call-chain:
> > > 
> > >     pc_xen_hvm_init_pci->pc_init1->i440fx_init->pci_create_simple->
> > > pci_create_simple_multifunction->qdev_init_nofail
> > 
> > unlike open failing, there's nothing user can do, this means there's
> > a coding bug somewhere, and assert is easier to debug.
> > 
> > > About test:
> > > 1. Compiled
> > > 2. Did a dirty hack to force create/realize this device in pc_init1(),
> > > prove
> > >     that the realizing process is ok, I will reply this mail later to
> > > attch the
> > >     screenshot evidence
> > 
> > Good job, thanks!
> > You should also Cc Tiejun Chen <tiejun.chen@intel.com> who wrote this
> > code, presumably with access to hardware to test on.
> > 
> > 
> > >   hw/pci-host/piix.c | 30 +++++++++++++++---------------
> > >   1 file changed, 15 insertions(+), 15 deletions(-)
> > > 
> > > diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
> > > index a9cb983..e91570f 100644
> > > --- a/hw/pci-host/piix.c
> > > +++ b/hw/pci-host/piix.c
> > > @@ -761,7 +761,7 @@ static const IGDHostInfo igd_host_bridge_infos[] = {
> > >       {0xa8, 4},  /* SNB: base of GTT stolen memory */
> > >   };
> > > 
> > > -static int host_pci_config_read(int pos, int len, uint32_t *val)
> > > +static void host_pci_config_read(int pos, int len, uint32_t *val, Error
> > > **errp)
> > >   {
> > >       char path[PATH_MAX];
> > >       int config_fd;
> > > @@ -769,19 +769,19 @@ static int host_pci_config_read(int pos, int len,
> > > uint32_t *val)
> > >       /* Access real host bridge. */
> > >       int rc = snprintf(path, size,
> > > "/sys/bus/pci/devices/%04x:%02x:%02x.%d/%s",
> > >                         0, 0, 0, 0, "config");
> > > -    int ret = 0;
> > > 
> > >       if (rc >= size || rc < 0) {
> > > -        return -ENODEV;
> > > +        error_setg_errno(errp, errno, "snprintf err");
> > >       }
> > > 
> > >       config_fd = open(path, O_RDWR);
> > >       if (config_fd < 0) {
> > > -        return -ENODEV;
> > > +        error_setg_errno(errp, errno, "open %s fail", path);
> > > +        return;
> > >       }
> > > 
> > >       if (lseek(config_fd, pos, SEEK_SET) != pos) {
> > > -        ret = -errno;
> > > +        error_setg_errno(errp, errno, "lseek err");
> > >           goto out;
> > >       }
> > > 
> > > @@ -789,32 +789,32 @@ static int host_pci_config_read(int pos, int len,
> > > uint32_t *val)
> > >           rc = read(config_fd, (uint8_t *)val, len);
> > >       } while (rc < 0 && (errno == EINTR || errno == EAGAIN));
> > >       if (rc != len) {
> > > -        ret = -errno;
> > > +        error_setg_errno(errp, errno, "read err");
> > >       }
> > > 
> > >   out:
> > >       close(config_fd);
> > > -    return ret;
> > >   }
> > > 
> > > -static int igd_pt_i440fx_initfn(struct PCIDevice *pci_dev)
> > > +static void igd_pt_i440fx_realize(struct PCIDevice *pci_dev, Error
> > > **errp)
> > >   {
> > >       uint32_t val = 0;
> > > -    int rc, i, num;
> > > +    int i, num;
> > >       int pos, len;
> > > +    Error *local_err = NULL;
> > > 
> > >       num = ARRAY_SIZE(igd_host_bridge_infos);
> > >       for (i = 0; i < num; i++) {
> > >           pos = igd_host_bridge_infos[i].offset;
> > >           len = igd_host_bridge_infos[i].len;
> > > -        rc = host_pci_config_read(pos, len, &val);
> > > -        if (rc) {
> > > -            return -ENODEV;
> > > +
> > > +        host_pci_config_read(pos, len, &val, &local_err);
> > > +        if (local_err) {
> > > +            error_propagate(errp, local_err);
> > > +            return;
> > >           }
> > >           pci_default_write_config(pci_dev, pos, cpu_to_le32(val), len);
> > >       }
> > > -
> > > -    return 0;
> > >   }
> > > 
> > >   static void igd_passthrough_i440fx_class_init(ObjectClass *klass, void
> > > *data)
> > > @@ -822,7 +822,7 @@ static void
> > > igd_passthrough_i440fx_class_init(ObjectClass *klass, void *data)
> > >       DeviceClass *dc = DEVICE_CLASS(klass);
> > >       PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
> > > 
> > > -    k->init = igd_pt_i440fx_initfn;
> > > +    k->realize = igd_pt_i440fx_realize;
> > >       dc->desc = "IGD Passthrough Host bridge";
> > >   }
> > > 
> > > --
> > > 2.1.0
> > > 
> > > 
> > 
> > 
> > .
> > 
> 
> -- 
> Yours Sincerely,
> 
> Cao jin
> 
> 
> 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-07 15:01     ` Stefano Stabellini
@ 2016-01-07 16:21       ` Gerd Hoffmann
  2016-01-07 17:42         ` Stefano Stabellini
  0 siblings, 1 reply; 51+ messages in thread
From: Gerd Hoffmann @ 2016-01-07 16:21 UTC (permalink / raw)
  To: Stefano Stabellini; +Cc: Cao jin, qemu-devel, Michael S. Tsirkin

On Do, 2016-01-07 at 15:01 +0000, Stefano Stabellini wrote:
> Your patch is simpler and more mature. Maybe it should go in before Gerd's
> series?

My series would throw away most of the error handling fixes here, so
IMHO that would be pointless churn ...

And I don't think my series is far from being mergeable.  The new patch
#11 (added in v3) is the most problematic one and possibly requires some
coordination with xen (depending on how we decide to tackle the
problems).  But we can split the series up and go ahead merging patches
1-10.

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-07 16:21       ` Gerd Hoffmann
@ 2016-01-07 17:42         ` Stefano Stabellini
  0 siblings, 0 replies; 51+ messages in thread
From: Stefano Stabellini @ 2016-01-07 17:42 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Cao jin, Michael S. Tsirkin, qemu-devel, Stefano Stabellini

On Thu, 7 Jan 2016, Gerd Hoffmann wrote:
> On Do, 2016-01-07 at 15:01 +0000, Stefano Stabellini wrote:
> > Your patch is simpler and more mature. Maybe it should go in before Gerd's
> > series?
> 
> My series would throw away most of the error handling fixes here, so
> IMHO that would be pointless churn ...
> 
> And I don't think my series is far from being mergeable.  The new patch
> #11 (added in v3) is the most problematic one and possibly requires some
> coordination with xen (depending on how we decide to tackle the
> problems).  But we can split the series up and go ahead merging patches
> 1-10.

That's OK for me.

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-07  1:32                 ` Hao, Xudong
@ 2016-01-08 11:57                   ` Stefano Stabellini
  -1 siblings, 0 replies; 51+ messages in thread
From: Stefano Stabellini @ 2016-01-08 11:57 UTC (permalink / raw)
  To: Hao, Xudong
  Cc: Lars Kurth, xen-devel, Stefano Stabellini, Lars Kurth,
	Michael S. Tsirkin, qemu-devel, Cao jin, Stefano Stabellini

Since you are at it, could you please let me know how well igd
passthrough works without this bugfix:

http://marc.info/?l=qemu-devel&m=145172165010604

which is about to land in QEMU.  I guess it doesn't work at all?

I am asking because I would like to know the level of support we need to
provide to igd passthrough with the latest QEMU release (2.5).


On Thu, 7 Jan 2016, Hao, Xudong wrote:
> Sure. I'll test it soon.
> 
> Thanks,
> -Xudong
> 
> > -----Original Message-----
> > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > Sent: Wednesday, January 6, 2016 8:18 PM
> > To: Lars Kurth <lars.kurth.xen@gmail.com>
> > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao, Xudong
> > <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
> > <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
> > <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> > <mst@redhat.com>
> > Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> > 
> > Hello Xudong,
> > 
> > please test this patch:
> > 
> > http://marc.info/?l=qemu-devel&m=145137863501079
> > 
> > with an intel graphic card assigned to a Xen guest. If everything still works as
> > expected, please reply with your Tested-by.
> > 
> > Thanks,
> > 
> > Stefano
> > 
> > On Wed, 6 Jan 2016, Lars Kurth wrote:
> > > Hi folks,
> > > let me introduce you to Xudong from Intel, who is willing to help out.
> > > Best Regards
> > > Lars
> > >
> > > > On 4 Jan 2016, at 15:41, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > wrote:
> > > >
> > > > On Mon, 4 Jan 2016, Lars Kurth wrote:
> > > >> On 04/01/2016 14:47, "Stefano Stabellini"
> > > >> <stefano.stabellini@eu.citrix.com> wrote:
> > > >>
> > > >>> Unfortunately I don't have a setup to test this either. Maybe Lars
> > > >>> can find out who should be involved on the Intel side on this.
> > > >>
> > > >> I can certainly help to this and get back to you. What exactly are
> > > >> we asking Intel to do?
> > > >> It is not clear to me from this email thread
> > > >
> > > > Tiejun Chen, the author of the Intel graphic card passthrough
> > > > patches for QEMU, seems to have left the company. It would be nice
> > > > if somebody else tested this patch with an intel graphic card
> > > > assigned to a guest VM.
> > > >
> > > > _______________________________________________
> > > > Xen-devel mailing list
> > > > Xen-devel@lists.xen.org
> > > > http://lists.xen.org/xen-devel
> > >
> 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-08 11:57                   ` Stefano Stabellini
  0 siblings, 0 replies; 51+ messages in thread
From: Stefano Stabellini @ 2016-01-08 11:57 UTC (permalink / raw)
  To: Hao, Xudong
  Cc: Lars Kurth, xen-devel, Stefano Stabellini, Lars Kurth,
	Michael S. Tsirkin, qemu-devel, Cao jin, Stefano Stabellini

Since you are at it, could you please let me know how well igd
passthrough works without this bugfix:

http://marc.info/?l=qemu-devel&m=145172165010604

which is about to land in QEMU.  I guess it doesn't work at all?

I am asking because I would like to know the level of support we need to
provide to igd passthrough with the latest QEMU release (2.5).


On Thu, 7 Jan 2016, Hao, Xudong wrote:
> Sure. I'll test it soon.
> 
> Thanks,
> -Xudong
> 
> > -----Original Message-----
> > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > Sent: Wednesday, January 6, 2016 8:18 PM
> > To: Lars Kurth <lars.kurth.xen@gmail.com>
> > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao, Xudong
> > <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
> > <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
> > <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> > <mst@redhat.com>
> > Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> > 
> > Hello Xudong,
> > 
> > please test this patch:
> > 
> > http://marc.info/?l=qemu-devel&m=145137863501079
> > 
> > with an intel graphic card assigned to a Xen guest. If everything still works as
> > expected, please reply with your Tested-by.
> > 
> > Thanks,
> > 
> > Stefano
> > 
> > On Wed, 6 Jan 2016, Lars Kurth wrote:
> > > Hi folks,
> > > let me introduce you to Xudong from Intel, who is willing to help out.
> > > Best Regards
> > > Lars
> > >
> > > > On 4 Jan 2016, at 15:41, Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > wrote:
> > > >
> > > > On Mon, 4 Jan 2016, Lars Kurth wrote:
> > > >> On 04/01/2016 14:47, "Stefano Stabellini"
> > > >> <stefano.stabellini@eu.citrix.com> wrote:
> > > >>
> > > >>> Unfortunately I don't have a setup to test this either. Maybe Lars
> > > >>> can find out who should be involved on the Intel side on this.
> > > >>
> > > >> I can certainly help to this and get back to you. What exactly are
> > > >> we asking Intel to do?
> > > >> It is not clear to me from this email thread
> > > >
> > > > Tiejun Chen, the author of the Intel graphic card passthrough
> > > > patches for QEMU, seems to have left the company. It would be nice
> > > > if somebody else tested this patch with an intel graphic card
> > > > assigned to a guest VM.
> > > >
> > > > _______________________________________________
> > > > Xen-devel mailing list
> > > > Xen-devel@lists.xen.org
> > > > http://lists.xen.org/xen-devel
> > >
> 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-08 11:57                   ` Stefano Stabellini
@ 2016-01-11  1:46                     ` Hao, Xudong
  -1 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-11  1:46 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	qemu-devel, Cao jin, Stefano Stabellini

Qemu with the patch can't boot VM with IGD pass-through, I'm checking if it works w/o this patch to eliminate the environment influence.

Thanks,
-Xudong


> -----Original Message-----
> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> Sent: Friday, January 8, 2016 7:57 PM
> To: Hao, Xudong <xudong.hao@intel.com>
> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
> <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> <mst@redhat.com>
> Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> 
> Since you are at it, could you please let me know how well igd passthrough
> works without this bugfix:
> 
> http://marc.info/?l=qemu-devel&m=145172165010604
> 
> which is about to land in QEMU.  I guess it doesn't work at all?
> 
> I am asking because I would like to know the level of support we need to provide
> to igd passthrough with the latest QEMU release (2.5).
> 
> 
> On Thu, 7 Jan 2016, Hao, Xudong wrote:
> > Sure. I'll test it soon.
> >
> > Thanks,
> > -Xudong
> >
> > > -----Original Message-----
> > > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > > Sent: Wednesday, January 6, 2016 8:18 PM
> > > To: Lars Kurth <lars.kurth.xen@gmail.com>
> > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao,
> > > Xudong <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>;
> > > Cao jin <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com;
> > > Stefano Stabellini <Stefano.Stabellini@citrix.com>;
> > > qemu-devel@nongnu.org; Michael S. Tsirkin <mst@redhat.com>
> > > Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
> > > to realize()
> > >
> > > Hello Xudong,
> > >
> > > please test this patch:
> > >
> > > http://marc.info/?l=qemu-devel&m=145137863501079
> > >
> > > with an intel graphic card assigned to a Xen guest. If everything
> > > still works as expected, please reply with your Tested-by.
> > >
> > > Thanks,
> > >
> > > Stefano
> > >
> > > On Wed, 6 Jan 2016, Lars Kurth wrote:
> > > > Hi folks,
> > > > let me introduce you to Xudong from Intel, who is willing to help out.
> > > > Best Regards
> > > > Lars
> > > >
> > > > > On 4 Jan 2016, at 15:41, Stefano Stabellini
> > > > > <stefano.stabellini@eu.citrix.com>
> > > wrote:
> > > > >
> > > > > On Mon, 4 Jan 2016, Lars Kurth wrote:
> > > > >> On 04/01/2016 14:47, "Stefano Stabellini"
> > > > >> <stefano.stabellini@eu.citrix.com> wrote:
> > > > >>
> > > > >>> Unfortunately I don't have a setup to test this either. Maybe
> > > > >>> Lars can find out who should be involved on the Intel side on this.
> > > > >>
> > > > >> I can certainly help to this and get back to you. What exactly
> > > > >> are we asking Intel to do?
> > > > >> It is not clear to me from this email thread
> > > > >
> > > > > Tiejun Chen, the author of the Intel graphic card passthrough
> > > > > patches for QEMU, seems to have left the company. It would be
> > > > > nice if somebody else tested this patch with an intel graphic
> > > > > card assigned to a guest VM.
> > > > >
> > > > > _______________________________________________
> > > > > Xen-devel mailing list
> > > > > Xen-devel@lists.xen.org
> > > > > http://lists.xen.org/xen-devel
> > > >
> >

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-11  1:46                     ` Hao, Xudong
  0 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-11  1:46 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	qemu-devel, Cao jin, Stefano Stabellini

Qemu with the patch can't boot VM with IGD pass-through, I'm checking if it works w/o this patch to eliminate the environment influence.

Thanks,
-Xudong


> -----Original Message-----
> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> Sent: Friday, January 8, 2016 7:57 PM
> To: Hao, Xudong <xudong.hao@intel.com>
> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
> <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> <mst@redhat.com>
> Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> 
> Since you are at it, could you please let me know how well igd passthrough
> works without this bugfix:
> 
> http://marc.info/?l=qemu-devel&m=145172165010604
> 
> which is about to land in QEMU.  I guess it doesn't work at all?
> 
> I am asking because I would like to know the level of support we need to provide
> to igd passthrough with the latest QEMU release (2.5).
> 
> 
> On Thu, 7 Jan 2016, Hao, Xudong wrote:
> > Sure. I'll test it soon.
> >
> > Thanks,
> > -Xudong
> >
> > > -----Original Message-----
> > > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > > Sent: Wednesday, January 6, 2016 8:18 PM
> > > To: Lars Kurth <lars.kurth.xen@gmail.com>
> > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao,
> > > Xudong <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>;
> > > Cao jin <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com;
> > > Stefano Stabellini <Stefano.Stabellini@citrix.com>;
> > > qemu-devel@nongnu.org; Michael S. Tsirkin <mst@redhat.com>
> > > Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
> > > to realize()
> > >
> > > Hello Xudong,
> > >
> > > please test this patch:
> > >
> > > http://marc.info/?l=qemu-devel&m=145137863501079
> > >
> > > with an intel graphic card assigned to a Xen guest. If everything
> > > still works as expected, please reply with your Tested-by.
> > >
> > > Thanks,
> > >
> > > Stefano
> > >
> > > On Wed, 6 Jan 2016, Lars Kurth wrote:
> > > > Hi folks,
> > > > let me introduce you to Xudong from Intel, who is willing to help out.
> > > > Best Regards
> > > > Lars
> > > >
> > > > > On 4 Jan 2016, at 15:41, Stefano Stabellini
> > > > > <stefano.stabellini@eu.citrix.com>
> > > wrote:
> > > > >
> > > > > On Mon, 4 Jan 2016, Lars Kurth wrote:
> > > > >> On 04/01/2016 14:47, "Stefano Stabellini"
> > > > >> <stefano.stabellini@eu.citrix.com> wrote:
> > > > >>
> > > > >>> Unfortunately I don't have a setup to test this either. Maybe
> > > > >>> Lars can find out who should be involved on the Intel side on this.
> > > > >>
> > > > >> I can certainly help to this and get back to you. What exactly
> > > > >> are we asking Intel to do?
> > > > >> It is not clear to me from this email thread
> > > > >
> > > > > Tiejun Chen, the author of the Intel graphic card passthrough
> > > > > patches for QEMU, seems to have left the company. It would be
> > > > > nice if somebody else tested this patch with an intel graphic
> > > > > card assigned to a guest VM.
> > > > >
> > > > > _______________________________________________
> > > > > Xen-devel mailing list
> > > > > Xen-devel@lists.xen.org
> > > > > http://lists.xen.org/xen-devel
> > > >
> >

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-08 11:57                   ` Stefano Stabellini
@ 2016-01-11  9:53                     ` Hao, Xudong
  -1 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-11  9:53 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	qemu-devel, Cao jin, Stefano Stabellini

Stefano, 

Patch http://marc.info/?l=qemu-devel&m=145137863501079 don't works for qemu at all, some conflict when git apply. 
Patch http://marc.info/?l=qemu-devel&m=145137863501079 is based on patch http://marc.info/?l=qemu-devel&m=145172165010604, right?

I can boot up Linux VM with IGD pass-through with latest qemu (without any additional patch), guest run 3D "nexuiz" and get 180fps. 

Will try the two patch together later.

Thanks,
-Xudong


> -----Original Message-----
> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> Sent: Friday, January 8, 2016 7:57 PM
> To: Hao, Xudong <xudong.hao@intel.com>
> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
> <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> <mst@redhat.com>
> Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> 
> Since you are at it, could you please let me know how well igd passthrough
> works without this bugfix:
> 
> http://marc.info/?l=qemu-devel&m=145172165010604
> 
> which is about to land in QEMU.  I guess it doesn't work at all?
> 
> I am asking because I would like to know the level of support we need to provide
> to igd passthrough with the latest QEMU release (2.5).
> 
> 
> On Thu, 7 Jan 2016, Hao, Xudong wrote:
> > Sure. I'll test it soon.
> >
> > Thanks,
> > -Xudong
> >
> > > -----Original Message-----
> > > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > > Sent: Wednesday, January 6, 2016 8:18 PM
> > > To: Lars Kurth <lars.kurth.xen@gmail.com>
> > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao,
> > > Xudong <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>;
> > > Cao jin <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com;
> > > Stefano Stabellini <Stefano.Stabellini@citrix.com>;
> > > qemu-devel@nongnu.org; Michael S. Tsirkin <mst@redhat.com>
> > > Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
> > > to realize()
> > >
> > > Hello Xudong,
> > >
> > > please test this patch:
> > >
> > > http://marc.info/?l=qemu-devel&m=145137863501079
> > >
> > > with an intel graphic card assigned to a Xen guest. If everything
> > > still works as expected, please reply with your Tested-by.
> > >
> > > Thanks,
> > >
> > > Stefano
> > >
> > > On Wed, 6 Jan 2016, Lars Kurth wrote:
> > > > Hi folks,
> > > > let me introduce you to Xudong from Intel, who is willing to help out.
> > > > Best Regards
> > > > Lars
> > > >
> > > > > On 4 Jan 2016, at 15:41, Stefano Stabellini
> > > > > <stefano.stabellini@eu.citrix.com>
> > > wrote:
> > > > >
> > > > > On Mon, 4 Jan 2016, Lars Kurth wrote:
> > > > >> On 04/01/2016 14:47, "Stefano Stabellini"
> > > > >> <stefano.stabellini@eu.citrix.com> wrote:
> > > > >>
> > > > >>> Unfortunately I don't have a setup to test this either. Maybe
> > > > >>> Lars can find out who should be involved on the Intel side on this.
> > > > >>
> > > > >> I can certainly help to this and get back to you. What exactly
> > > > >> are we asking Intel to do?
> > > > >> It is not clear to me from this email thread
> > > > >
> > > > > Tiejun Chen, the author of the Intel graphic card passthrough
> > > > > patches for QEMU, seems to have left the company. It would be
> > > > > nice if somebody else tested this patch with an intel graphic
> > > > > card assigned to a guest VM.
> > > > >
> > > > > _______________________________________________
> > > > > Xen-devel mailing list
> > > > > Xen-devel@lists.xen.org
> > > > > http://lists.xen.org/xen-devel
> > > >
> >

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-11  9:53                     ` Hao, Xudong
  0 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-11  9:53 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	qemu-devel, Cao jin, Stefano Stabellini

Stefano, 

Patch http://marc.info/?l=qemu-devel&m=145137863501079 don't works for qemu at all, some conflict when git apply. 
Patch http://marc.info/?l=qemu-devel&m=145137863501079 is based on patch http://marc.info/?l=qemu-devel&m=145172165010604, right?

I can boot up Linux VM with IGD pass-through with latest qemu (without any additional patch), guest run 3D "nexuiz" and get 180fps. 

Will try the two patch together later.

Thanks,
-Xudong


> -----Original Message-----
> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> Sent: Friday, January 8, 2016 7:57 PM
> To: Hao, Xudong <xudong.hao@intel.com>
> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
> <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> <mst@redhat.com>
> Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> 
> Since you are at it, could you please let me know how well igd passthrough
> works without this bugfix:
> 
> http://marc.info/?l=qemu-devel&m=145172165010604
> 
> which is about to land in QEMU.  I guess it doesn't work at all?
> 
> I am asking because I would like to know the level of support we need to provide
> to igd passthrough with the latest QEMU release (2.5).
> 
> 
> On Thu, 7 Jan 2016, Hao, Xudong wrote:
> > Sure. I'll test it soon.
> >
> > Thanks,
> > -Xudong
> >
> > > -----Original Message-----
> > > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > > Sent: Wednesday, January 6, 2016 8:18 PM
> > > To: Lars Kurth <lars.kurth.xen@gmail.com>
> > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao,
> > > Xudong <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>;
> > > Cao jin <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com;
> > > Stefano Stabellini <Stefano.Stabellini@citrix.com>;
> > > qemu-devel@nongnu.org; Michael S. Tsirkin <mst@redhat.com>
> > > Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
> > > to realize()
> > >
> > > Hello Xudong,
> > >
> > > please test this patch:
> > >
> > > http://marc.info/?l=qemu-devel&m=145137863501079
> > >
> > > with an intel graphic card assigned to a Xen guest. If everything
> > > still works as expected, please reply with your Tested-by.
> > >
> > > Thanks,
> > >
> > > Stefano
> > >
> > > On Wed, 6 Jan 2016, Lars Kurth wrote:
> > > > Hi folks,
> > > > let me introduce you to Xudong from Intel, who is willing to help out.
> > > > Best Regards
> > > > Lars
> > > >
> > > > > On 4 Jan 2016, at 15:41, Stefano Stabellini
> > > > > <stefano.stabellini@eu.citrix.com>
> > > wrote:
> > > > >
> > > > > On Mon, 4 Jan 2016, Lars Kurth wrote:
> > > > >> On 04/01/2016 14:47, "Stefano Stabellini"
> > > > >> <stefano.stabellini@eu.citrix.com> wrote:
> > > > >>
> > > > >>> Unfortunately I don't have a setup to test this either. Maybe
> > > > >>> Lars can find out who should be involved on the Intel side on this.
> > > > >>
> > > > >> I can certainly help to this and get back to you. What exactly
> > > > >> are we asking Intel to do?
> > > > >> It is not clear to me from this email thread
> > > > >
> > > > > Tiejun Chen, the author of the Intel graphic card passthrough
> > > > > patches for QEMU, seems to have left the company. It would be
> > > > > nice if somebody else tested this patch with an intel graphic
> > > > > card assigned to a guest VM.
> > > > >
> > > > > _______________________________________________
> > > > > Xen-devel mailing list
> > > > > Xen-devel@lists.xen.org
> > > > > http://lists.xen.org/xen-devel
> > > >
> >

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-11  9:53                     ` Hao, Xudong
@ 2016-01-11 10:32                       ` Gerd Hoffmann
  -1 siblings, 0 replies; 51+ messages in thread
From: Gerd Hoffmann @ 2016-01-11 10:32 UTC (permalink / raw)
  To: Hao, Xudong
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	Stefano Stabellini, qemu-devel, Cao jin, Stefano Stabellini

  Hi,

> I can boot up Linux VM with IGD pass-through with latest qemu (without
> any additional patch), guest run 3D "nexuiz" and get 180fps. 

That is a pretty recent linux guest I assume?
Tried older kernels too, possibly even the old userspace xorg driver?
Do windows guest work as well?

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-11 10:32                       ` Gerd Hoffmann
  0 siblings, 0 replies; 51+ messages in thread
From: Gerd Hoffmann @ 2016-01-11 10:32 UTC (permalink / raw)
  To: Hao, Xudong
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	Stefano Stabellini, qemu-devel, Cao jin, Stefano Stabellini

  Hi,

> I can boot up Linux VM with IGD pass-through with latest qemu (without
> any additional patch), guest run 3D "nexuiz" and get 180fps. 

That is a pretty recent linux guest I assume?
Tried older kernels too, possibly even the old userspace xorg driver?
Do windows guest work as well?

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-11  9:53                     ` Hao, Xudong
@ 2016-01-11 10:46                       ` Stefano Stabellini
  -1 siblings, 0 replies; 51+ messages in thread
From: Stefano Stabellini @ 2016-01-11 10:46 UTC (permalink / raw)
  To: Hao, Xudong
  Cc: Lars Kurth, xen-devel, Stefano Stabellini, Lars Kurth,
	Michael S. Tsirkin, qemu-devel, Cao jin, Stefano Stabellini

On Mon, 11 Jan 2016, Hao, Xudong wrote:
> Stefano, 
> 
> Patch http://marc.info/?l=qemu-devel&m=145137863501079 don't works for qemu at all, some conflict when git apply. 
> Patch http://marc.info/?l=qemu-devel&m=145137863501079 is based on patch http://marc.info/?l=qemu-devel&m=145172165010604, right?
> 
> I can boot up Linux VM with IGD pass-through with latest qemu (without any additional patch), guest run 3D "nexuiz" and get 180fps. 

Very interesting, thanks for testing.


> Will try the two patch together later.

That would be useful


> > -----Original Message-----
> > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > Sent: Friday, January 8, 2016 7:57 PM
> > To: Hao, Xudong <xudong.hao@intel.com>
> > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> > <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
> > <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
> > <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> > <mst@redhat.com>
> > Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> > 
> > Since you are at it, could you please let me know how well igd passthrough
> > works without this bugfix:
> > 
> > http://marc.info/?l=qemu-devel&m=145172165010604
> > 
> > which is about to land in QEMU.  I guess it doesn't work at all?
> > 
> > I am asking because I would like to know the level of support we need to provide
> > to igd passthrough with the latest QEMU release (2.5).
> > 
> > 
> > On Thu, 7 Jan 2016, Hao, Xudong wrote:
> > > Sure. I'll test it soon.
> > >
> > > Thanks,
> > > -Xudong
> > >
> > > > -----Original Message-----
> > > > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > > > Sent: Wednesday, January 6, 2016 8:18 PM
> > > > To: Lars Kurth <lars.kurth.xen@gmail.com>
> > > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao,
> > > > Xudong <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>;
> > > > Cao jin <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com;
> > > > Stefano Stabellini <Stefano.Stabellini@citrix.com>;
> > > > qemu-devel@nongnu.org; Michael S. Tsirkin <mst@redhat.com>
> > > > Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
> > > > to realize()
> > > >
> > > > Hello Xudong,
> > > >
> > > > please test this patch:
> > > >
> > > > http://marc.info/?l=qemu-devel&m=145137863501079
> > > >
> > > > with an intel graphic card assigned to a Xen guest. If everything
> > > > still works as expected, please reply with your Tested-by.
> > > >
> > > > Thanks,
> > > >
> > > > Stefano
> > > >
> > > > On Wed, 6 Jan 2016, Lars Kurth wrote:
> > > > > Hi folks,
> > > > > let me introduce you to Xudong from Intel, who is willing to help out.
> > > > > Best Regards
> > > > > Lars
> > > > >
> > > > > > On 4 Jan 2016, at 15:41, Stefano Stabellini
> > > > > > <stefano.stabellini@eu.citrix.com>
> > > > wrote:
> > > > > >
> > > > > > On Mon, 4 Jan 2016, Lars Kurth wrote:
> > > > > >> On 04/01/2016 14:47, "Stefano Stabellini"
> > > > > >> <stefano.stabellini@eu.citrix.com> wrote:
> > > > > >>
> > > > > >>> Unfortunately I don't have a setup to test this either. Maybe
> > > > > >>> Lars can find out who should be involved on the Intel side on this.
> > > > > >>
> > > > > >> I can certainly help to this and get back to you. What exactly
> > > > > >> are we asking Intel to do?
> > > > > >> It is not clear to me from this email thread
> > > > > >
> > > > > > Tiejun Chen, the author of the Intel graphic card passthrough
> > > > > > patches for QEMU, seems to have left the company. It would be
> > > > > > nice if somebody else tested this patch with an intel graphic
> > > > > > card assigned to a guest VM.
> > > > > >
> > > > > > _______________________________________________
> > > > > > Xen-devel mailing list
> > > > > > Xen-devel@lists.xen.org
> > > > > > http://lists.xen.org/xen-devel
> > > > >
> > >
> 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-11 10:46                       ` Stefano Stabellini
  0 siblings, 0 replies; 51+ messages in thread
From: Stefano Stabellini @ 2016-01-11 10:46 UTC (permalink / raw)
  To: Hao, Xudong
  Cc: Lars Kurth, xen-devel, Stefano Stabellini, Lars Kurth,
	Michael S. Tsirkin, qemu-devel, Cao jin, Stefano Stabellini

On Mon, 11 Jan 2016, Hao, Xudong wrote:
> Stefano, 
> 
> Patch http://marc.info/?l=qemu-devel&m=145137863501079 don't works for qemu at all, some conflict when git apply. 
> Patch http://marc.info/?l=qemu-devel&m=145137863501079 is based on patch http://marc.info/?l=qemu-devel&m=145172165010604, right?
> 
> I can boot up Linux VM with IGD pass-through with latest qemu (without any additional patch), guest run 3D "nexuiz" and get 180fps. 

Very interesting, thanks for testing.


> Will try the two patch together later.

That would be useful


> > -----Original Message-----
> > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > Sent: Friday, January 8, 2016 7:57 PM
> > To: Hao, Xudong <xudong.hao@intel.com>
> > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> > <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
> > <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
> > <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> > <mst@redhat.com>
> > Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> > 
> > Since you are at it, could you please let me know how well igd passthrough
> > works without this bugfix:
> > 
> > http://marc.info/?l=qemu-devel&m=145172165010604
> > 
> > which is about to land in QEMU.  I guess it doesn't work at all?
> > 
> > I am asking because I would like to know the level of support we need to provide
> > to igd passthrough with the latest QEMU release (2.5).
> > 
> > 
> > On Thu, 7 Jan 2016, Hao, Xudong wrote:
> > > Sure. I'll test it soon.
> > >
> > > Thanks,
> > > -Xudong
> > >
> > > > -----Original Message-----
> > > > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > > > Sent: Wednesday, January 6, 2016 8:18 PM
> > > > To: Lars Kurth <lars.kurth.xen@gmail.com>
> > > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao,
> > > > Xudong <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>;
> > > > Cao jin <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com;
> > > > Stefano Stabellini <Stefano.Stabellini@citrix.com>;
> > > > qemu-devel@nongnu.org; Michael S. Tsirkin <mst@redhat.com>
> > > > Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
> > > > to realize()
> > > >
> > > > Hello Xudong,
> > > >
> > > > please test this patch:
> > > >
> > > > http://marc.info/?l=qemu-devel&m=145137863501079
> > > >
> > > > with an intel graphic card assigned to a Xen guest. If everything
> > > > still works as expected, please reply with your Tested-by.
> > > >
> > > > Thanks,
> > > >
> > > > Stefano
> > > >
> > > > On Wed, 6 Jan 2016, Lars Kurth wrote:
> > > > > Hi folks,
> > > > > let me introduce you to Xudong from Intel, who is willing to help out.
> > > > > Best Regards
> > > > > Lars
> > > > >
> > > > > > On 4 Jan 2016, at 15:41, Stefano Stabellini
> > > > > > <stefano.stabellini@eu.citrix.com>
> > > > wrote:
> > > > > >
> > > > > > On Mon, 4 Jan 2016, Lars Kurth wrote:
> > > > > >> On 04/01/2016 14:47, "Stefano Stabellini"
> > > > > >> <stefano.stabellini@eu.citrix.com> wrote:
> > > > > >>
> > > > > >>> Unfortunately I don't have a setup to test this either. Maybe
> > > > > >>> Lars can find out who should be involved on the Intel side on this.
> > > > > >>
> > > > > >> I can certainly help to this and get back to you. What exactly
> > > > > >> are we asking Intel to do?
> > > > > >> It is not clear to me from this email thread
> > > > > >
> > > > > > Tiejun Chen, the author of the Intel graphic card passthrough
> > > > > > patches for QEMU, seems to have left the company. It would be
> > > > > > nice if somebody else tested this patch with an intel graphic
> > > > > > card assigned to a guest VM.
> > > > > >
> > > > > > _______________________________________________
> > > > > > Xen-devel mailing list
> > > > > > Xen-devel@lists.xen.org
> > > > > > http://lists.xen.org/xen-devel
> > > > >
> > >
> 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-11 10:46                       ` Stefano Stabellini
@ 2016-01-11 11:01                         ` Michael S. Tsirkin
  -1 siblings, 0 replies; 51+ messages in thread
From: Michael S. Tsirkin @ 2016-01-11 11:01 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Lars Kurth, xen-devel, Lars Kurth, Hao, Xudong, qemu-devel,
	Cao jin, Stefano Stabellini

On Mon, Jan 11, 2016 at 10:46:20AM +0000, Stefano Stabellini wrote:
> On Mon, 11 Jan 2016, Hao, Xudong wrote:
> > Stefano, 
> > 
> > Patch http://marc.info/?l=qemu-devel&m=145137863501079 don't works for qemu at all, some conflict when git apply. 
> > Patch http://marc.info/?l=qemu-devel&m=145137863501079 is based on patch http://marc.info/?l=qemu-devel&m=145172165010604, right?
> > 
> > I can boot up Linux VM with IGD pass-through with latest qemu (without any additional patch), guest run 3D "nexuiz" and get 180fps. 
> 
> Very interesting, thanks for testing.

Could windows VM be tested too please?

It might be that the host pci read hacks are only needed
for the benefit of the windows guests.

> 
> > Will try the two patch together later.
> 
> That would be useful
> 
> 
> > > -----Original Message-----
> > > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > > Sent: Friday, January 8, 2016 7:57 PM
> > > To: Hao, Xudong <xudong.hao@intel.com>
> > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> > > <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
> > > <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
> > > <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> > > <mst@redhat.com>
> > > Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> > > 
> > > Since you are at it, could you please let me know how well igd passthrough
> > > works without this bugfix:
> > > 
> > > http://marc.info/?l=qemu-devel&m=145172165010604
> > > 
> > > which is about to land in QEMU.  I guess it doesn't work at all?
> > > 
> > > I am asking because I would like to know the level of support we need to provide
> > > to igd passthrough with the latest QEMU release (2.5).
> > > 
> > > 
> > > On Thu, 7 Jan 2016, Hao, Xudong wrote:
> > > > Sure. I'll test it soon.
> > > >
> > > > Thanks,
> > > > -Xudong
> > > >
> > > > > -----Original Message-----
> > > > > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > > > > Sent: Wednesday, January 6, 2016 8:18 PM
> > > > > To: Lars Kurth <lars.kurth.xen@gmail.com>
> > > > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao,
> > > > > Xudong <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>;
> > > > > Cao jin <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com;
> > > > > Stefano Stabellini <Stefano.Stabellini@citrix.com>;
> > > > > qemu-devel@nongnu.org; Michael S. Tsirkin <mst@redhat.com>
> > > > > Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
> > > > > to realize()
> > > > >
> > > > > Hello Xudong,
> > > > >
> > > > > please test this patch:
> > > > >
> > > > > http://marc.info/?l=qemu-devel&m=145137863501079
> > > > >
> > > > > with an intel graphic card assigned to a Xen guest. If everything
> > > > > still works as expected, please reply with your Tested-by.
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Stefano
> > > > >
> > > > > On Wed, 6 Jan 2016, Lars Kurth wrote:
> > > > > > Hi folks,
> > > > > > let me introduce you to Xudong from Intel, who is willing to help out.
> > > > > > Best Regards
> > > > > > Lars
> > > > > >
> > > > > > > On 4 Jan 2016, at 15:41, Stefano Stabellini
> > > > > > > <stefano.stabellini@eu.citrix.com>
> > > > > wrote:
> > > > > > >
> > > > > > > On Mon, 4 Jan 2016, Lars Kurth wrote:
> > > > > > >> On 04/01/2016 14:47, "Stefano Stabellini"
> > > > > > >> <stefano.stabellini@eu.citrix.com> wrote:
> > > > > > >>
> > > > > > >>> Unfortunately I don't have a setup to test this either. Maybe
> > > > > > >>> Lars can find out who should be involved on the Intel side on this.
> > > > > > >>
> > > > > > >> I can certainly help to this and get back to you. What exactly
> > > > > > >> are we asking Intel to do?
> > > > > > >> It is not clear to me from this email thread
> > > > > > >
> > > > > > > Tiejun Chen, the author of the Intel graphic card passthrough
> > > > > > > patches for QEMU, seems to have left the company. It would be
> > > > > > > nice if somebody else tested this patch with an intel graphic
> > > > > > > card assigned to a guest VM.
> > > > > > >
> > > > > > > _______________________________________________
> > > > > > > Xen-devel mailing list
> > > > > > > Xen-devel@lists.xen.org
> > > > > > > http://lists.xen.org/xen-devel
> > > > > >
> > > >
> > 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-11 11:01                         ` Michael S. Tsirkin
  0 siblings, 0 replies; 51+ messages in thread
From: Michael S. Tsirkin @ 2016-01-11 11:01 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Lars Kurth, xen-devel, Lars Kurth, Hao, Xudong, qemu-devel,
	Cao jin, Stefano Stabellini

On Mon, Jan 11, 2016 at 10:46:20AM +0000, Stefano Stabellini wrote:
> On Mon, 11 Jan 2016, Hao, Xudong wrote:
> > Stefano, 
> > 
> > Patch http://marc.info/?l=qemu-devel&m=145137863501079 don't works for qemu at all, some conflict when git apply. 
> > Patch http://marc.info/?l=qemu-devel&m=145137863501079 is based on patch http://marc.info/?l=qemu-devel&m=145172165010604, right?
> > 
> > I can boot up Linux VM with IGD pass-through with latest qemu (without any additional patch), guest run 3D "nexuiz" and get 180fps. 
> 
> Very interesting, thanks for testing.

Could windows VM be tested too please?

It might be that the host pci read hacks are only needed
for the benefit of the windows guests.

> 
> > Will try the two patch together later.
> 
> That would be useful
> 
> 
> > > -----Original Message-----
> > > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > > Sent: Friday, January 8, 2016 7:57 PM
> > > To: Hao, Xudong <xudong.hao@intel.com>
> > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> > > <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
> > > <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
> > > <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> > > <mst@redhat.com>
> > > Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> > > 
> > > Since you are at it, could you please let me know how well igd passthrough
> > > works without this bugfix:
> > > 
> > > http://marc.info/?l=qemu-devel&m=145172165010604
> > > 
> > > which is about to land in QEMU.  I guess it doesn't work at all?
> > > 
> > > I am asking because I would like to know the level of support we need to provide
> > > to igd passthrough with the latest QEMU release (2.5).
> > > 
> > > 
> > > On Thu, 7 Jan 2016, Hao, Xudong wrote:
> > > > Sure. I'll test it soon.
> > > >
> > > > Thanks,
> > > > -Xudong
> > > >
> > > > > -----Original Message-----
> > > > > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > > > > Sent: Wednesday, January 6, 2016 8:18 PM
> > > > > To: Lars Kurth <lars.kurth.xen@gmail.com>
> > > > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao,
> > > > > Xudong <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>;
> > > > > Cao jin <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com;
> > > > > Stefano Stabellini <Stefano.Stabellini@citrix.com>;
> > > > > qemu-devel@nongnu.org; Michael S. Tsirkin <mst@redhat.com>
> > > > > Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
> > > > > to realize()
> > > > >
> > > > > Hello Xudong,
> > > > >
> > > > > please test this patch:
> > > > >
> > > > > http://marc.info/?l=qemu-devel&m=145137863501079
> > > > >
> > > > > with an intel graphic card assigned to a Xen guest. If everything
> > > > > still works as expected, please reply with your Tested-by.
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Stefano
> > > > >
> > > > > On Wed, 6 Jan 2016, Lars Kurth wrote:
> > > > > > Hi folks,
> > > > > > let me introduce you to Xudong from Intel, who is willing to help out.
> > > > > > Best Regards
> > > > > > Lars
> > > > > >
> > > > > > > On 4 Jan 2016, at 15:41, Stefano Stabellini
> > > > > > > <stefano.stabellini@eu.citrix.com>
> > > > > wrote:
> > > > > > >
> > > > > > > On Mon, 4 Jan 2016, Lars Kurth wrote:
> > > > > > >> On 04/01/2016 14:47, "Stefano Stabellini"
> > > > > > >> <stefano.stabellini@eu.citrix.com> wrote:
> > > > > > >>
> > > > > > >>> Unfortunately I don't have a setup to test this either. Maybe
> > > > > > >>> Lars can find out who should be involved on the Intel side on this.
> > > > > > >>
> > > > > > >> I can certainly help to this and get back to you. What exactly
> > > > > > >> are we asking Intel to do?
> > > > > > >> It is not clear to me from this email thread
> > > > > > >
> > > > > > > Tiejun Chen, the author of the Intel graphic card passthrough
> > > > > > > patches for QEMU, seems to have left the company. It would be
> > > > > > > nice if somebody else tested this patch with an intel graphic
> > > > > > > card assigned to a guest VM.
> > > > > > >
> > > > > > > _______________________________________________
> > > > > > > Xen-devel mailing list
> > > > > > > Xen-devel@lists.xen.org
> > > > > > > http://lists.xen.org/xen-devel
> > > > > >
> > > >
> > 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-11  9:53                     ` Hao, Xudong
@ 2016-01-12  2:01                       ` Cao jin
  -1 siblings, 0 replies; 51+ messages in thread
From: Cao jin @ 2016-01-12  2:01 UTC (permalink / raw)
  To: Hao, Xudong, Stefano Stabellini
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	qemu-devel, Stefano Stabellini

Hi

On 01/11/2016 05:53 PM, Hao, Xudong wrote:
> Stefano,
>
> Patch http://marc.info/?l=qemu-devel&m=145137863501079 don't works for qemu at all, some conflict when git apply.
> Patch http://marc.info/?l=qemu-devel&m=145137863501079 is based on patch http://marc.info/?l=qemu-devel&m=145172165010604, right?
>
> I can boot up Linux VM with IGD pass-through with latest qemu (without any additional patch), guest run 3D "nexuiz" and get 180fps.
>

Because commit: 349a3b1cc is already in the latest qemu(maybe the day 
before yesterday?), so I guess that is why latest qemu works well with
igd-passthru and also the same reason for git apply conflict?

> Will try the two patch together later.
>
> Thanks,
> -Xudong
>
>
>> -----Original Message-----
>> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
>> Sent: Friday, January 8, 2016 7:57 PM
>> To: Hao, Xudong <xudong.hao@intel.com>
>> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
>> <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
>> <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
>> <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
>> <mst@redhat.com>
>> Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
>>
>> Since you are at it, could you please let me know how well igd passthrough
>> works without this bugfix:
>>
>> http://marc.info/?l=qemu-devel&m=145172165010604
>>
>> which is about to land in QEMU.  I guess it doesn't work at all?
>>
>> I am asking because I would like to know the level of support we need to provide
>> to igd passthrough with the latest QEMU release (2.5).
>>
>>
>> On Thu, 7 Jan 2016, Hao, Xudong wrote:
>>> Sure. I'll test it soon.
>>>
>>> Thanks,
>>> -Xudong
>>>
>>>> -----Original Message-----
>>>> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
>>>> Sent: Wednesday, January 6, 2016 8:18 PM
>>>> To: Lars Kurth <lars.kurth.xen@gmail.com>
>>>> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao,
>>>> Xudong <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>;
>>>> Cao jin <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com;
>>>> Stefano Stabellini <Stefano.Stabellini@citrix.com>;
>>>> qemu-devel@nongnu.org; Michael S. Tsirkin <mst@redhat.com>
>>>> Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
>>>> to realize()
>>>>
>>>> Hello Xudong,
>>>>
>>>> please test this patch:
>>>>
>>>> http://marc.info/?l=qemu-devel&m=145137863501079
>>>>
>>>> with an intel graphic card assigned to a Xen guest. If everything
>>>> still works as expected, please reply with your Tested-by.
>>>>
>>>> Thanks,
>>>>
>>>> Stefano
>>>>
>>>> On Wed, 6 Jan 2016, Lars Kurth wrote:
>>>>> Hi folks,
>>>>> let me introduce you to Xudong from Intel, who is willing to help out.
>>>>> Best Regards
>>>>> Lars
>>>>>
>>>>>> On 4 Jan 2016, at 15:41, Stefano Stabellini
>>>>>> <stefano.stabellini@eu.citrix.com>
>>>> wrote:
>>>>>>
>>>>>> On Mon, 4 Jan 2016, Lars Kurth wrote:
>>>>>>> On 04/01/2016 14:47, "Stefano Stabellini"
>>>>>>> <stefano.stabellini@eu.citrix.com> wrote:
>>>>>>>
>>>>>>>> Unfortunately I don't have a setup to test this either. Maybe
>>>>>>>> Lars can find out who should be involved on the Intel side on this.
>>>>>>>
>>>>>>> I can certainly help to this and get back to you. What exactly
>>>>>>> are we asking Intel to do?
>>>>>>> It is not clear to me from this email thread
>>>>>>
>>>>>> Tiejun Chen, the author of the Intel graphic card passthrough
>>>>>> patches for QEMU, seems to have left the company. It would be
>>>>>> nice if somebody else tested this patch with an intel graphic
>>>>>> card assigned to a guest VM.
>>>>>>
>>>>>> _______________________________________________
>>>>>> Xen-devel mailing list
>>>>>> Xen-devel@lists.xen.org
>>>>>> http://lists.xen.org/xen-devel
>>>>>
>>>
>
>
> .
>

-- 
Yours Sincerely,

Cao jin

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-12  2:01                       ` Cao jin
  0 siblings, 0 replies; 51+ messages in thread
From: Cao jin @ 2016-01-12  2:01 UTC (permalink / raw)
  To: Hao, Xudong, Stefano Stabellini
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	qemu-devel, Stefano Stabellini

Hi

On 01/11/2016 05:53 PM, Hao, Xudong wrote:
> Stefano,
>
> Patch http://marc.info/?l=qemu-devel&m=145137863501079 don't works for qemu at all, some conflict when git apply.
> Patch http://marc.info/?l=qemu-devel&m=145137863501079 is based on patch http://marc.info/?l=qemu-devel&m=145172165010604, right?
>
> I can boot up Linux VM with IGD pass-through with latest qemu (without any additional patch), guest run 3D "nexuiz" and get 180fps.
>

Because commit: 349a3b1cc is already in the latest qemu(maybe the day 
before yesterday?), so I guess that is why latest qemu works well with
igd-passthru and also the same reason for git apply conflict?

> Will try the two patch together later.
>
> Thanks,
> -Xudong
>
>
>> -----Original Message-----
>> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
>> Sent: Friday, January 8, 2016 7:57 PM
>> To: Hao, Xudong <xudong.hao@intel.com>
>> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
>> <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
>> <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
>> <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
>> <mst@redhat.com>
>> Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
>>
>> Since you are at it, could you please let me know how well igd passthrough
>> works without this bugfix:
>>
>> http://marc.info/?l=qemu-devel&m=145172165010604
>>
>> which is about to land in QEMU.  I guess it doesn't work at all?
>>
>> I am asking because I would like to know the level of support we need to provide
>> to igd passthrough with the latest QEMU release (2.5).
>>
>>
>> On Thu, 7 Jan 2016, Hao, Xudong wrote:
>>> Sure. I'll test it soon.
>>>
>>> Thanks,
>>> -Xudong
>>>
>>>> -----Original Message-----
>>>> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
>>>> Sent: Wednesday, January 6, 2016 8:18 PM
>>>> To: Lars Kurth <lars.kurth.xen@gmail.com>
>>>> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao,
>>>> Xudong <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>;
>>>> Cao jin <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com;
>>>> Stefano Stabellini <Stefano.Stabellini@citrix.com>;
>>>> qemu-devel@nongnu.org; Michael S. Tsirkin <mst@redhat.com>
>>>> Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
>>>> to realize()
>>>>
>>>> Hello Xudong,
>>>>
>>>> please test this patch:
>>>>
>>>> http://marc.info/?l=qemu-devel&m=145137863501079
>>>>
>>>> with an intel graphic card assigned to a Xen guest. If everything
>>>> still works as expected, please reply with your Tested-by.
>>>>
>>>> Thanks,
>>>>
>>>> Stefano
>>>>
>>>> On Wed, 6 Jan 2016, Lars Kurth wrote:
>>>>> Hi folks,
>>>>> let me introduce you to Xudong from Intel, who is willing to help out.
>>>>> Best Regards
>>>>> Lars
>>>>>
>>>>>> On 4 Jan 2016, at 15:41, Stefano Stabellini
>>>>>> <stefano.stabellini@eu.citrix.com>
>>>> wrote:
>>>>>>
>>>>>> On Mon, 4 Jan 2016, Lars Kurth wrote:
>>>>>>> On 04/01/2016 14:47, "Stefano Stabellini"
>>>>>>> <stefano.stabellini@eu.citrix.com> wrote:
>>>>>>>
>>>>>>>> Unfortunately I don't have a setup to test this either. Maybe
>>>>>>>> Lars can find out who should be involved on the Intel side on this.
>>>>>>>
>>>>>>> I can certainly help to this and get back to you. What exactly
>>>>>>> are we asking Intel to do?
>>>>>>> It is not clear to me from this email thread
>>>>>>
>>>>>> Tiejun Chen, the author of the Intel graphic card passthrough
>>>>>> patches for QEMU, seems to have left the company. It would be
>>>>>> nice if somebody else tested this patch with an intel graphic
>>>>>> card assigned to a guest VM.
>>>>>>
>>>>>> _______________________________________________
>>>>>> Xen-devel mailing list
>>>>>> Xen-devel@lists.xen.org
>>>>>> http://lists.xen.org/xen-devel
>>>>>
>>>
>
>
> .
>

-- 
Yours Sincerely,

Cao jin

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-12  2:01                       ` Cao jin
@ 2016-01-12  2:24                         ` Hao, Xudong
  -1 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-12  2:24 UTC (permalink / raw)
  To: Cao jin, Stefano Stabellini
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	qemu-devel, Stefano Stabellini

I used 6bb9ead762bf749af11ea225fc2a74db1b93c105 yesterday, this version don't include commit 349a3b1cc. 

Thanks,
-Xudong


> -----Original Message-----
> From: Cao jin [mailto:caoj.fnst@cn.fujitsu.com]
> Sent: Tuesday, January 12, 2016 10:01 AM
> To: Hao, Xudong <xudong.hao@intel.com>; Stefano Stabellini
> <stefano.stabellini@eu.citrix.com>
> Cc: Lars Kurth <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>;
> xen-devel@lists.xensource.com; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> <mst@redhat.com>
> Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> 
> Hi
> 
> On 01/11/2016 05:53 PM, Hao, Xudong wrote:
> > Stefano,
> >
> > Patch http://marc.info/?l=qemu-devel&m=145137863501079 don't works for
> qemu at all, some conflict when git apply.
> > Patch http://marc.info/?l=qemu-devel&m=145137863501079 is based on
> patch http://marc.info/?l=qemu-devel&m=145172165010604, right?
> >
> > I can boot up Linux VM with IGD pass-through with latest qemu (without any
> additional patch), guest run 3D "nexuiz" and get 180fps.
> >
> 
> Because commit: 349a3b1cc is already in the latest qemu(maybe the day before
> yesterday?), so I guess that is why latest qemu works well with igd-passthru and
> also the same reason for git apply conflict?
> 
> > Will try the two patch together later.
> >
> > Thanks,
> > -Xudong
> >
> >
> >> -----Original Message-----
> >> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> >> Sent: Friday, January 8, 2016 7:57 PM
> >> To: Hao, Xudong <xudong.hao@intel.com>
> >> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> >> <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>; Cao
> >> jin <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com;
> >> Stefano Stabellini <Stefano.Stabellini@citrix.com>;
> >> qemu-devel@nongnu.org; Michael S. Tsirkin <mst@redhat.com>
> >> Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
> >> to realize()
> >>
> >> Since you are at it, could you please let me know how well igd
> >> passthrough works without this bugfix:
> >>
> >> http://marc.info/?l=qemu-devel&m=145172165010604
> >>
> >> which is about to land in QEMU.  I guess it doesn't work at all?
> >>
> >> I am asking because I would like to know the level of support we need
> >> to provide to igd passthrough with the latest QEMU release (2.5).
> >>
> >>
> >> On Thu, 7 Jan 2016, Hao, Xudong wrote:
> >>> Sure. I'll test it soon.
> >>>
> >>> Thanks,
> >>> -Xudong
> >>>
> >>>> -----Original Message-----
> >>>> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> >>>> Sent: Wednesday, January 6, 2016 8:18 PM
> >>>> To: Lars Kurth <lars.kurth.xen@gmail.com>
> >>>> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao,
> >>>> Xudong <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>;
> >>>> Cao jin <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com;
> >>>> Stefano Stabellini <Stefano.Stabellini@citrix.com>;
> >>>> qemu-devel@nongnu.org; Michael S. Tsirkin <mst@redhat.com>
> >>>> Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
> >>>> to realize()
> >>>>
> >>>> Hello Xudong,
> >>>>
> >>>> please test this patch:
> >>>>
> >>>> http://marc.info/?l=qemu-devel&m=145137863501079
> >>>>
> >>>> with an intel graphic card assigned to a Xen guest. If everything
> >>>> still works as expected, please reply with your Tested-by.
> >>>>
> >>>> Thanks,
> >>>>
> >>>> Stefano
> >>>>
> >>>> On Wed, 6 Jan 2016, Lars Kurth wrote:
> >>>>> Hi folks,
> >>>>> let me introduce you to Xudong from Intel, who is willing to help out.
> >>>>> Best Regards
> >>>>> Lars
> >>>>>
> >>>>>> On 4 Jan 2016, at 15:41, Stefano Stabellini
> >>>>>> <stefano.stabellini@eu.citrix.com>
> >>>> wrote:
> >>>>>>
> >>>>>> On Mon, 4 Jan 2016, Lars Kurth wrote:
> >>>>>>> On 04/01/2016 14:47, "Stefano Stabellini"
> >>>>>>> <stefano.stabellini@eu.citrix.com> wrote:
> >>>>>>>
> >>>>>>>> Unfortunately I don't have a setup to test this either. Maybe
> >>>>>>>> Lars can find out who should be involved on the Intel side on this.
> >>>>>>>
> >>>>>>> I can certainly help to this and get back to you. What exactly
> >>>>>>> are we asking Intel to do?
> >>>>>>> It is not clear to me from this email thread
> >>>>>>
> >>>>>> Tiejun Chen, the author of the Intel graphic card passthrough
> >>>>>> patches for QEMU, seems to have left the company. It would be
> >>>>>> nice if somebody else tested this patch with an intel graphic
> >>>>>> card assigned to a guest VM.
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> Xen-devel mailing list
> >>>>>> Xen-devel@lists.xen.org
> >>>>>> http://lists.xen.org/xen-devel
> >>>>>
> >>>
> >
> >
> > .
> >
> 
> --
> Yours Sincerely,
> 
> Cao jin
> 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-12  2:24                         ` Hao, Xudong
  0 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-12  2:24 UTC (permalink / raw)
  To: Cao jin, Stefano Stabellini
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	qemu-devel, Stefano Stabellini

I used 6bb9ead762bf749af11ea225fc2a74db1b93c105 yesterday, this version don't include commit 349a3b1cc. 

Thanks,
-Xudong


> -----Original Message-----
> From: Cao jin [mailto:caoj.fnst@cn.fujitsu.com]
> Sent: Tuesday, January 12, 2016 10:01 AM
> To: Hao, Xudong <xudong.hao@intel.com>; Stefano Stabellini
> <stefano.stabellini@eu.citrix.com>
> Cc: Lars Kurth <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>;
> xen-devel@lists.xensource.com; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> <mst@redhat.com>
> Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> 
> Hi
> 
> On 01/11/2016 05:53 PM, Hao, Xudong wrote:
> > Stefano,
> >
> > Patch http://marc.info/?l=qemu-devel&m=145137863501079 don't works for
> qemu at all, some conflict when git apply.
> > Patch http://marc.info/?l=qemu-devel&m=145137863501079 is based on
> patch http://marc.info/?l=qemu-devel&m=145172165010604, right?
> >
> > I can boot up Linux VM with IGD pass-through with latest qemu (without any
> additional patch), guest run 3D "nexuiz" and get 180fps.
> >
> 
> Because commit: 349a3b1cc is already in the latest qemu(maybe the day before
> yesterday?), so I guess that is why latest qemu works well with igd-passthru and
> also the same reason for git apply conflict?
> 
> > Will try the two patch together later.
> >
> > Thanks,
> > -Xudong
> >
> >
> >> -----Original Message-----
> >> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> >> Sent: Friday, January 8, 2016 7:57 PM
> >> To: Hao, Xudong <xudong.hao@intel.com>
> >> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> >> <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>; Cao
> >> jin <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com;
> >> Stefano Stabellini <Stefano.Stabellini@citrix.com>;
> >> qemu-devel@nongnu.org; Michael S. Tsirkin <mst@redhat.com>
> >> Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
> >> to realize()
> >>
> >> Since you are at it, could you please let me know how well igd
> >> passthrough works without this bugfix:
> >>
> >> http://marc.info/?l=qemu-devel&m=145172165010604
> >>
> >> which is about to land in QEMU.  I guess it doesn't work at all?
> >>
> >> I am asking because I would like to know the level of support we need
> >> to provide to igd passthrough with the latest QEMU release (2.5).
> >>
> >>
> >> On Thu, 7 Jan 2016, Hao, Xudong wrote:
> >>> Sure. I'll test it soon.
> >>>
> >>> Thanks,
> >>> -Xudong
> >>>
> >>>> -----Original Message-----
> >>>> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> >>>> Sent: Wednesday, January 6, 2016 8:18 PM
> >>>> To: Lars Kurth <lars.kurth.xen@gmail.com>
> >>>> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao,
> >>>> Xudong <xudong.hao@intel.com>; Lars Kurth <lars.kurth@citrix.com>;
> >>>> Cao jin <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com;
> >>>> Stefano Stabellini <Stefano.Stabellini@citrix.com>;
> >>>> qemu-devel@nongnu.org; Michael S. Tsirkin <mst@redhat.com>
> >>>> Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
> >>>> to realize()
> >>>>
> >>>> Hello Xudong,
> >>>>
> >>>> please test this patch:
> >>>>
> >>>> http://marc.info/?l=qemu-devel&m=145137863501079
> >>>>
> >>>> with an intel graphic card assigned to a Xen guest. If everything
> >>>> still works as expected, please reply with your Tested-by.
> >>>>
> >>>> Thanks,
> >>>>
> >>>> Stefano
> >>>>
> >>>> On Wed, 6 Jan 2016, Lars Kurth wrote:
> >>>>> Hi folks,
> >>>>> let me introduce you to Xudong from Intel, who is willing to help out.
> >>>>> Best Regards
> >>>>> Lars
> >>>>>
> >>>>>> On 4 Jan 2016, at 15:41, Stefano Stabellini
> >>>>>> <stefano.stabellini@eu.citrix.com>
> >>>> wrote:
> >>>>>>
> >>>>>> On Mon, 4 Jan 2016, Lars Kurth wrote:
> >>>>>>> On 04/01/2016 14:47, "Stefano Stabellini"
> >>>>>>> <stefano.stabellini@eu.citrix.com> wrote:
> >>>>>>>
> >>>>>>>> Unfortunately I don't have a setup to test this either. Maybe
> >>>>>>>> Lars can find out who should be involved on the Intel side on this.
> >>>>>>>
> >>>>>>> I can certainly help to this and get back to you. What exactly
> >>>>>>> are we asking Intel to do?
> >>>>>>> It is not clear to me from this email thread
> >>>>>>
> >>>>>> Tiejun Chen, the author of the Intel graphic card passthrough
> >>>>>> patches for QEMU, seems to have left the company. It would be
> >>>>>> nice if somebody else tested this patch with an intel graphic
> >>>>>> card assigned to a guest VM.
> >>>>>>
> >>>>>> _______________________________________________
> >>>>>> Xen-devel mailing list
> >>>>>> Xen-devel@lists.xen.org
> >>>>>> http://lists.xen.org/xen-devel
> >>>>>
> >>>
> >
> >
> > .
> >
> 
> --
> Yours Sincerely,
> 
> Cao jin
> 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-11 10:32                       ` Gerd Hoffmann
@ 2016-01-12  8:41                         ` Hao, Xudong
  -1 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-12  8:41 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	Stefano Stabellini, qemu-devel, Cao jin, Stefano Stabellini

Yes, Linux VM update to a 3.18 kernel.
The RHEL7.2 default kernel (should be 3.10) VM don't boot up with IGD pass-through, and Windows can't boot up either.

Thanks,
-Xudong


> -----Original Message-----
> From: Gerd Hoffmann [mailto:kraxel@redhat.com]
> Sent: Monday, January 11, 2016 6:32 PM
> To: Hao, Xudong <xudong.hao@intel.com>
> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> <lars.kurth@citrix.com>; xen-devel@lists.xensource.com; Michael S. Tsirkin
> <mst@redhat.com>; Lars Kurth <lars.kurth.xen@gmail.com>; qemu-
> devel@nongnu.org; Cao jin <caoj.fnst@cn.fujitsu.com>; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>
> Subject: Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX:
> convert to realize()
> 
>   Hi,
> 
> > I can boot up Linux VM with IGD pass-through with latest qemu (without
> > any additional patch), guest run 3D "nexuiz" and get 180fps.
> 
> That is a pretty recent linux guest I assume?
> Tried older kernels too, possibly even the old userspace xorg driver?
> Do windows guest work as well?
> 
> cheers,
>   Gerd


^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-12  8:41                         ` Hao, Xudong
  0 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-12  8:41 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	Stefano Stabellini, qemu-devel, Cao jin, Stefano Stabellini

Yes, Linux VM update to a 3.18 kernel.
The RHEL7.2 default kernel (should be 3.10) VM don't boot up with IGD pass-through, and Windows can't boot up either.

Thanks,
-Xudong


> -----Original Message-----
> From: Gerd Hoffmann [mailto:kraxel@redhat.com]
> Sent: Monday, January 11, 2016 6:32 PM
> To: Hao, Xudong <xudong.hao@intel.com>
> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> <lars.kurth@citrix.com>; xen-devel@lists.xensource.com; Michael S. Tsirkin
> <mst@redhat.com>; Lars Kurth <lars.kurth.xen@gmail.com>; qemu-
> devel@nongnu.org; Cao jin <caoj.fnst@cn.fujitsu.com>; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>
> Subject: Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX:
> convert to realize()
> 
>   Hi,
> 
> > I can boot up Linux VM with IGD pass-through with latest qemu (without
> > any additional patch), guest run 3D "nexuiz" and get 180fps.
> 
> That is a pretty recent linux guest I assume?
> Tried older kernels too, possibly even the old userspace xorg driver?
> Do windows guest work as well?
> 
> cheers,
>   Gerd


^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-12  8:41                         ` Hao, Xudong
@ 2016-01-12  8:47                           ` Michael S. Tsirkin
  -1 siblings, 0 replies; 51+ messages in thread
From: Michael S. Tsirkin @ 2016-01-12  8:47 UTC (permalink / raw)
  To: Hao, Xudong
  Cc: Lars Kurth, xen-devel, Stefano Stabellini, Lars Kurth,
	qemu-devel, Cao jin, Stefano Stabellini, Gerd Hoffmann

OK - it's possible that this patch
	commit 349a3b1cc9023f67f8fa336cb3c4a8f21a4aaaf3
	Author: Cao jin <caoj.fnst@cn.fujitsu.com>
	Date:   Sat Jan 2 16:02:20 2016 +0800

	    igd-passthrough: fix use of host_pci_config_read

is required for older guests.
This patch just went it - could you test latest master please?

On Tue, Jan 12, 2016 at 08:41:13AM +0000, Hao, Xudong wrote:
> Yes, Linux VM update to a 3.18 kernel.
> The RHEL7.2 default kernel (should be 3.10) VM don't boot up with IGD pass-through, and Windows can't boot up either.
> 
> Thanks,
> -Xudong
> 
> 
> > -----Original Message-----
> > From: Gerd Hoffmann [mailto:kraxel@redhat.com]
> > Sent: Monday, January 11, 2016 6:32 PM
> > To: Hao, Xudong <xudong.hao@intel.com>
> > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> > <lars.kurth@citrix.com>; xen-devel@lists.xensource.com; Michael S. Tsirkin
> > <mst@redhat.com>; Lars Kurth <lars.kurth.xen@gmail.com>; qemu-
> > devel@nongnu.org; Cao jin <caoj.fnst@cn.fujitsu.com>; Stefano Stabellini
> > <Stefano.Stabellini@citrix.com>
> > Subject: Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX:
> > convert to realize()
> > 
> >   Hi,
> > 
> > > I can boot up Linux VM with IGD pass-through with latest qemu (without
> > > any additional patch), guest run 3D "nexuiz" and get 180fps.
> > 
> > That is a pretty recent linux guest I assume?
> > Tried older kernels too, possibly even the old userspace xorg driver?
> > Do windows guest work as well?
> > 
> > cheers,
> >   Gerd
> 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-12  8:47                           ` Michael S. Tsirkin
  0 siblings, 0 replies; 51+ messages in thread
From: Michael S. Tsirkin @ 2016-01-12  8:47 UTC (permalink / raw)
  To: Hao, Xudong
  Cc: Lars Kurth, xen-devel, Stefano Stabellini, Lars Kurth,
	qemu-devel, Cao jin, Stefano Stabellini, Gerd Hoffmann

OK - it's possible that this patch
	commit 349a3b1cc9023f67f8fa336cb3c4a8f21a4aaaf3
	Author: Cao jin <caoj.fnst@cn.fujitsu.com>
	Date:   Sat Jan 2 16:02:20 2016 +0800

	    igd-passthrough: fix use of host_pci_config_read

is required for older guests.
This patch just went it - could you test latest master please?

On Tue, Jan 12, 2016 at 08:41:13AM +0000, Hao, Xudong wrote:
> Yes, Linux VM update to a 3.18 kernel.
> The RHEL7.2 default kernel (should be 3.10) VM don't boot up with IGD pass-through, and Windows can't boot up either.
> 
> Thanks,
> -Xudong
> 
> 
> > -----Original Message-----
> > From: Gerd Hoffmann [mailto:kraxel@redhat.com]
> > Sent: Monday, January 11, 2016 6:32 PM
> > To: Hao, Xudong <xudong.hao@intel.com>
> > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> > <lars.kurth@citrix.com>; xen-devel@lists.xensource.com; Michael S. Tsirkin
> > <mst@redhat.com>; Lars Kurth <lars.kurth.xen@gmail.com>; qemu-
> > devel@nongnu.org; Cao jin <caoj.fnst@cn.fujitsu.com>; Stefano Stabellini
> > <Stefano.Stabellini@citrix.com>
> > Subject: Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX:
> > convert to realize()
> > 
> >   Hi,
> > 
> > > I can boot up Linux VM with IGD pass-through with latest qemu (without
> > > any additional patch), guest run 3D "nexuiz" and get 180fps.
> > 
> > That is a pretty recent linux guest I assume?
> > Tried older kernels too, possibly even the old userspace xorg driver?
> > Do windows guest work as well?
> > 
> > cheers,
> >   Gerd
> 

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-12  8:47                           ` Michael S. Tsirkin
@ 2016-01-12  9:50                             ` Hao, Xudong
  -1 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-12  9:50 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Lars Kurth, xen-devel, Stefano Stabellini, Lars Kurth,
	qemu-devel, Cao jin, Stefano Stabellini, Gerd Hoffmann

With latest qemu 7b8a354d4716, RHEL7.2 (with default kernel) VM still can't boot up with IGD.

Thanks,
-Xudong


> -----Original Message-----
> From: Michael S. Tsirkin [mailto:mst@redhat.com]
> Sent: Tuesday, January 12, 2016 4:48 PM
> To: Hao, Xudong <xudong.hao@intel.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>; Stefano Stabellini
> <stefano.stabellini@eu.citrix.com>; Lars Kurth <lars.kurth@citrix.com>; xen-
> devel@lists.xensource.com; Lars Kurth <lars.kurth.xen@gmail.com>; qemu-
> devel@nongnu.org; Cao jin <caoj.fnst@cn.fujitsu.com>; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>
> Subject: Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX:
> convert to realize()
> 
> OK - it's possible that this patch
> 	commit 349a3b1cc9023f67f8fa336cb3c4a8f21a4aaaf3
> 	Author: Cao jin <caoj.fnst@cn.fujitsu.com>
> 	Date:   Sat Jan 2 16:02:20 2016 +0800
> 
> 	    igd-passthrough: fix use of host_pci_config_read
> 
> is required for older guests.
> This patch just went it - could you test latest master please?
> 
> On Tue, Jan 12, 2016 at 08:41:13AM +0000, Hao, Xudong wrote:
> > Yes, Linux VM update to a 3.18 kernel.
> > The RHEL7.2 default kernel (should be 3.10) VM don't boot up with IGD pass-
> through, and Windows can't boot up either.
> >
> > Thanks,
> > -Xudong
> >
> >
> > > -----Original Message-----
> > > From: Gerd Hoffmann [mailto:kraxel@redhat.com]
> > > Sent: Monday, January 11, 2016 6:32 PM
> > > To: Hao, Xudong <xudong.hao@intel.com>
> > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars
> > > Kurth <lars.kurth@citrix.com>; xen-devel@lists.xensource.com;
> > > Michael S. Tsirkin <mst@redhat.com>; Lars Kurth
> > > <lars.kurth.xen@gmail.com>; qemu- devel@nongnu.org; Cao jin
> > > <caoj.fnst@cn.fujitsu.com>; Stefano Stabellini
> > > <Stefano.Stabellini@citrix.com>
> > > Subject: Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX:
> > > convert to realize()
> > >
> > >   Hi,
> > >
> > > > I can boot up Linux VM with IGD pass-through with latest qemu
> > > > (without any additional patch), guest run 3D "nexuiz" and get 180fps.
> > >
> > > That is a pretty recent linux guest I assume?
> > > Tried older kernels too, possibly even the old userspace xorg driver?
> > > Do windows guest work as well?
> > >
> > > cheers,
> > >   Gerd
> >

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-12  9:50                             ` Hao, Xudong
  0 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-12  9:50 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Lars Kurth, xen-devel, Stefano Stabellini, Lars Kurth,
	qemu-devel, Cao jin, Stefano Stabellini, Gerd Hoffmann

With latest qemu 7b8a354d4716, RHEL7.2 (with default kernel) VM still can't boot up with IGD.

Thanks,
-Xudong


> -----Original Message-----
> From: Michael S. Tsirkin [mailto:mst@redhat.com]
> Sent: Tuesday, January 12, 2016 4:48 PM
> To: Hao, Xudong <xudong.hao@intel.com>
> Cc: Gerd Hoffmann <kraxel@redhat.com>; Stefano Stabellini
> <stefano.stabellini@eu.citrix.com>; Lars Kurth <lars.kurth@citrix.com>; xen-
> devel@lists.xensource.com; Lars Kurth <lars.kurth.xen@gmail.com>; qemu-
> devel@nongnu.org; Cao jin <caoj.fnst@cn.fujitsu.com>; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>
> Subject: Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX:
> convert to realize()
> 
> OK - it's possible that this patch
> 	commit 349a3b1cc9023f67f8fa336cb3c4a8f21a4aaaf3
> 	Author: Cao jin <caoj.fnst@cn.fujitsu.com>
> 	Date:   Sat Jan 2 16:02:20 2016 +0800
> 
> 	    igd-passthrough: fix use of host_pci_config_read
> 
> is required for older guests.
> This patch just went it - could you test latest master please?
> 
> On Tue, Jan 12, 2016 at 08:41:13AM +0000, Hao, Xudong wrote:
> > Yes, Linux VM update to a 3.18 kernel.
> > The RHEL7.2 default kernel (should be 3.10) VM don't boot up with IGD pass-
> through, and Windows can't boot up either.
> >
> > Thanks,
> > -Xudong
> >
> >
> > > -----Original Message-----
> > > From: Gerd Hoffmann [mailto:kraxel@redhat.com]
> > > Sent: Monday, January 11, 2016 6:32 PM
> > > To: Hao, Xudong <xudong.hao@intel.com>
> > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars
> > > Kurth <lars.kurth@citrix.com>; xen-devel@lists.xensource.com;
> > > Michael S. Tsirkin <mst@redhat.com>; Lars Kurth
> > > <lars.kurth.xen@gmail.com>; qemu- devel@nongnu.org; Cao jin
> > > <caoj.fnst@cn.fujitsu.com>; Stefano Stabellini
> > > <Stefano.Stabellini@citrix.com>
> > > Subject: Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX:
> > > convert to realize()
> > >
> > >   Hi,
> > >
> > > > I can boot up Linux VM with IGD pass-through with latest qemu
> > > > (without any additional patch), guest run 3D "nexuiz" and get 180fps.
> > >
> > > That is a pretty recent linux guest I assume?
> > > Tried older kernels too, possibly even the old userspace xorg driver?
> > > Do windows guest work as well?
> > >
> > > cheers,
> > >   Gerd
> >

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-11 10:46                       ` Stefano Stabellini
@ 2016-01-12  9:54                         ` Hao, Xudong
  -1 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-12  9:54 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	qemu-devel, Cao jin, Stefano Stabellini



> -----Original Message-----
> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> Sent: Monday, January 11, 2016 6:46 PM
> To: Hao, Xudong <xudong.hao@intel.com>
> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
> <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> <mst@redhat.com>
> Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> 
> On Mon, 11 Jan 2016, Hao, Xudong wrote:
> > Stefano,
> >
> > Patch http://marc.info/?l=qemu-devel&m=145137863501079 don't works for
> qemu at all, some conflict when git apply.
> > Patch http://marc.info/?l=qemu-devel&m=145137863501079 is based on
> patch http://marc.info/?l=qemu-devel&m=145172165010604, right?
> >
> > I can boot up Linux VM with IGD pass-through with latest qemu (without any
> additional patch), guest run 3D "nexuiz" and get 180fps.
> 
> Very interesting, thanks for testing.
> 
The Linux VM's kernel is 3.18.

> 
> > Will try the two patch together later.
> 
> That would be useful
> 
With the two patch, Linux VM (with 3.18) boot up successfully. RHEL7.2(default kernel 3.10) and Windows8.1 VM boot up fail with IGD pass-through.
The result is same w/o these two patches.
 
> 
> > > -----Original Message-----
> > > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > > Sent: Friday, January 8, 2016 7:57 PM
> > > To: Hao, Xudong <xudong.hao@intel.com>
> > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars
> > > Kurth <lars.kurth.xen@gmail.com>; Lars Kurth
> > > <lars.kurth@citrix.com>; Cao jin <caoj.fnst@cn.fujitsu.com>;
> > > xen-devel@lists.xensource.com; Stefano Stabellini
> > > <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S.
> > > Tsirkin <mst@redhat.com>
> > > Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
> > > to realize()
> > >
> > > Since you are at it, could you please let me know how well igd
> > > passthrough works without this bugfix:
> > >
> > > http://marc.info/?l=qemu-devel&m=145172165010604
> > >
> > > which is about to land in QEMU.  I guess it doesn't work at all?
> > >
> > > I am asking because I would like to know the level of support we
> > > need to provide to igd passthrough with the latest QEMU release (2.5).
> > >
> > >
> > > On Thu, 7 Jan 2016, Hao, Xudong wrote:
> > > > Sure. I'll test it soon.
> > > >
> > > > Thanks,
> > > > -Xudong
> > > >
> > > > > -----Original Message-----
> > > > > From: Stefano Stabellini
> > > > > [mailto:stefano.stabellini@eu.citrix.com]
> > > > > Sent: Wednesday, January 6, 2016 8:18 PM
> > > > > To: Lars Kurth <lars.kurth.xen@gmail.com>
> > > > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao,
> > > > > Xudong <xudong.hao@intel.com>; Lars Kurth
> > > > > <lars.kurth@citrix.com>; Cao jin <caoj.fnst@cn.fujitsu.com>;
> > > > > xen-devel@lists.xensource.com; Stefano Stabellini
> > > > > <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael
> > > > > S. Tsirkin <mst@redhat.com>
> > > > > Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX:
> > > > > convert to realize()
> > > > >
> > > > > Hello Xudong,
> > > > >
> > > > > please test this patch:
> > > > >
> > > > > http://marc.info/?l=qemu-devel&m=145137863501079
> > > > >
> > > > > with an intel graphic card assigned to a Xen guest. If
> > > > > everything still works as expected, please reply with your Tested-by.
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Stefano
> > > > >
> > > > > On Wed, 6 Jan 2016, Lars Kurth wrote:
> > > > > > Hi folks,
> > > > > > let me introduce you to Xudong from Intel, who is willing to help out.
> > > > > > Best Regards
> > > > > > Lars
> > > > > >
> > > > > > > On 4 Jan 2016, at 15:41, Stefano Stabellini
> > > > > > > <stefano.stabellini@eu.citrix.com>
> > > > > wrote:
> > > > > > >
> > > > > > > On Mon, 4 Jan 2016, Lars Kurth wrote:
> > > > > > >> On 04/01/2016 14:47, "Stefano Stabellini"
> > > > > > >> <stefano.stabellini@eu.citrix.com> wrote:
> > > > > > >>
> > > > > > >>> Unfortunately I don't have a setup to test this either.
> > > > > > >>> Maybe Lars can find out who should be involved on the Intel side
> on this.
> > > > > > >>
> > > > > > >> I can certainly help to this and get back to you. What
> > > > > > >> exactly are we asking Intel to do?
> > > > > > >> It is not clear to me from this email thread
> > > > > > >
> > > > > > > Tiejun Chen, the author of the Intel graphic card
> > > > > > > passthrough patches for QEMU, seems to have left the
> > > > > > > company. It would be nice if somebody else tested this patch
> > > > > > > with an intel graphic card assigned to a guest VM.
> > > > > > >
> > > > > > > _______________________________________________
> > > > > > > Xen-devel mailing list
> > > > > > > Xen-devel@lists.xen.org
> > > > > > > http://lists.xen.org/xen-devel
> > > > > >
> > > >
> >

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-12  9:54                         ` Hao, Xudong
  0 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-12  9:54 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	qemu-devel, Cao jin, Stefano Stabellini



> -----Original Message-----
> From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> Sent: Monday, January 11, 2016 6:46 PM
> To: Hao, Xudong <xudong.hao@intel.com>
> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> <lars.kurth.xen@gmail.com>; Lars Kurth <lars.kurth@citrix.com>; Cao jin
> <caoj.fnst@cn.fujitsu.com>; xen-devel@lists.xensource.com; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S. Tsirkin
> <mst@redhat.com>
> Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
> 
> On Mon, 11 Jan 2016, Hao, Xudong wrote:
> > Stefano,
> >
> > Patch http://marc.info/?l=qemu-devel&m=145137863501079 don't works for
> qemu at all, some conflict when git apply.
> > Patch http://marc.info/?l=qemu-devel&m=145137863501079 is based on
> patch http://marc.info/?l=qemu-devel&m=145172165010604, right?
> >
> > I can boot up Linux VM with IGD pass-through with latest qemu (without any
> additional patch), guest run 3D "nexuiz" and get 180fps.
> 
> Very interesting, thanks for testing.
> 
The Linux VM's kernel is 3.18.

> 
> > Will try the two patch together later.
> 
> That would be useful
> 
With the two patch, Linux VM (with 3.18) boot up successfully. RHEL7.2(default kernel 3.10) and Windows8.1 VM boot up fail with IGD pass-through.
The result is same w/o these two patches.
 
> 
> > > -----Original Message-----
> > > From: Stefano Stabellini [mailto:stefano.stabellini@eu.citrix.com]
> > > Sent: Friday, January 8, 2016 7:57 PM
> > > To: Hao, Xudong <xudong.hao@intel.com>
> > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Lars
> > > Kurth <lars.kurth.xen@gmail.com>; Lars Kurth
> > > <lars.kurth@citrix.com>; Cao jin <caoj.fnst@cn.fujitsu.com>;
> > > xen-devel@lists.xensource.com; Stefano Stabellini
> > > <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael S.
> > > Tsirkin <mst@redhat.com>
> > > Subject: RE: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert
> > > to realize()
> > >
> > > Since you are at it, could you please let me know how well igd
> > > passthrough works without this bugfix:
> > >
> > > http://marc.info/?l=qemu-devel&m=145172165010604
> > >
> > > which is about to land in QEMU.  I guess it doesn't work at all?
> > >
> > > I am asking because I would like to know the level of support we
> > > need to provide to igd passthrough with the latest QEMU release (2.5).
> > >
> > >
> > > On Thu, 7 Jan 2016, Hao, Xudong wrote:
> > > > Sure. I'll test it soon.
> > > >
> > > > Thanks,
> > > > -Xudong
> > > >
> > > > > -----Original Message-----
> > > > > From: Stefano Stabellini
> > > > > [mailto:stefano.stabellini@eu.citrix.com]
> > > > > Sent: Wednesday, January 6, 2016 8:18 PM
> > > > > To: Lars Kurth <lars.kurth.xen@gmail.com>
> > > > > Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>; Hao,
> > > > > Xudong <xudong.hao@intel.com>; Lars Kurth
> > > > > <lars.kurth@citrix.com>; Cao jin <caoj.fnst@cn.fujitsu.com>;
> > > > > xen-devel@lists.xensource.com; Stefano Stabellini
> > > > > <Stefano.Stabellini@citrix.com>; qemu-devel@nongnu.org; Michael
> > > > > S. Tsirkin <mst@redhat.com>
> > > > > Subject: Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX:
> > > > > convert to realize()
> > > > >
> > > > > Hello Xudong,
> > > > >
> > > > > please test this patch:
> > > > >
> > > > > http://marc.info/?l=qemu-devel&m=145137863501079
> > > > >
> > > > > with an intel graphic card assigned to a Xen guest. If
> > > > > everything still works as expected, please reply with your Tested-by.
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Stefano
> > > > >
> > > > > On Wed, 6 Jan 2016, Lars Kurth wrote:
> > > > > > Hi folks,
> > > > > > let me introduce you to Xudong from Intel, who is willing to help out.
> > > > > > Best Regards
> > > > > > Lars
> > > > > >
> > > > > > > On 4 Jan 2016, at 15:41, Stefano Stabellini
> > > > > > > <stefano.stabellini@eu.citrix.com>
> > > > > wrote:
> > > > > > >
> > > > > > > On Mon, 4 Jan 2016, Lars Kurth wrote:
> > > > > > >> On 04/01/2016 14:47, "Stefano Stabellini"
> > > > > > >> <stefano.stabellini@eu.citrix.com> wrote:
> > > > > > >>
> > > > > > >>> Unfortunately I don't have a setup to test this either.
> > > > > > >>> Maybe Lars can find out who should be involved on the Intel side
> on this.
> > > > > > >>
> > > > > > >> I can certainly help to this and get back to you. What
> > > > > > >> exactly are we asking Intel to do?
> > > > > > >> It is not clear to me from this email thread
> > > > > > >
> > > > > > > Tiejun Chen, the author of the Intel graphic card
> > > > > > > passthrough patches for QEMU, seems to have left the
> > > > > > > company. It would be nice if somebody else tested this patch
> > > > > > > with an intel graphic card assigned to a guest VM.
> > > > > > >
> > > > > > > _______________________________________________
> > > > > > > Xen-devel mailing list
> > > > > > > Xen-devel@lists.xen.org
> > > > > > > http://lists.xen.org/xen-devel
> > > > > >
> > > >
> >

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-12  9:50                             ` Hao, Xudong
@ 2016-01-12 10:24                               ` Gerd Hoffmann
  -1 siblings, 0 replies; 51+ messages in thread
From: Gerd Hoffmann @ 2016-01-12 10:24 UTC (permalink / raw)
  To: Hao, Xudong
  Cc: Lars Kurth, xen-devel, Stefano Stabellini, Lars Kurth,
	Michael S. Tsirkin, qemu-devel, Cao jin, Stefano Stabellini

On Di, 2016-01-12 at 09:50 +0000, Hao, Xudong wrote:
> With latest qemu 7b8a354d4716, RHEL7.2 (with default kernel) VM still can't boot up with IGD.

There is another bug, using pci_default_write_config() doesn't fly as
this checks writes against wmask and the registers in question are not
whitelisted ...

I've just rebased my igd patch series which (among other stuff) fixes
that bug:
  https://www.kraxel.org/cgit/qemu/log/?h=work/igd
  git://git.kraxel.org/qemu work/igd

Can you give it a spin?

Also: what does "can't boot up" mean exactly?  Guest doesn't boot at
all?  Guest boots, but igd/console/Xorg doesn't work?  In case of the
latter:  Any chance to login via network and get a kernel log?

thanks,
  Gerd

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-12 10:24                               ` Gerd Hoffmann
  0 siblings, 0 replies; 51+ messages in thread
From: Gerd Hoffmann @ 2016-01-12 10:24 UTC (permalink / raw)
  To: Hao, Xudong
  Cc: Lars Kurth, xen-devel, Stefano Stabellini, Lars Kurth,
	Michael S. Tsirkin, qemu-devel, Cao jin, Stefano Stabellini

On Di, 2016-01-12 at 09:50 +0000, Hao, Xudong wrote:
> With latest qemu 7b8a354d4716, RHEL7.2 (with default kernel) VM still can't boot up with IGD.

There is another bug, using pci_default_write_config() doesn't fly as
this checks writes against wmask and the registers in question are not
whitelisted ...

I've just rebased my igd patch series which (among other stuff) fixes
that bug:
  https://www.kraxel.org/cgit/qemu/log/?h=work/igd
  git://git.kraxel.org/qemu work/igd

Can you give it a spin?

Also: what does "can't boot up" mean exactly?  Guest doesn't boot at
all?  Guest boots, but igd/console/Xorg doesn't work?  In case of the
latter:  Any chance to login via network and get a kernel log?

thanks,
  Gerd

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-12 10:24                               ` Gerd Hoffmann
@ 2016-01-13  1:55                                 ` Hao, Xudong
  -1 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-13  1:55 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	Stefano Stabellini, qemu-devel, Cao jin, Stefano Stabellini

[-- Attachment #1: Type: text/plain, Size: 1636 bytes --]

"can't boot up" means guest doesn't boot at all, guest will stop to booting after adding vga device, detail log in attachment.

Thanks,
-Xudong


> -----Original Message-----
> From: qemu-devel-bounces+xudong.hao=intel.com@nongnu.org [mailto:qemu-
> devel-bounces+xudong.hao=intel.com@nongnu.org] On Behalf Of Gerd
> Hoffmann
> Sent: Tuesday, January 12, 2016 6:25 PM
> To: Hao, Xudong <xudong.hao@intel.com>
> Cc: Lars Kurth <lars.kurth@citrix.com>; xen-devel@lists.xensource.com; Stefano
> Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> <lars.kurth.xen@gmail.com>; Michael S. Tsirkin <mst@redhat.com>; qemu-
> devel@nongnu.org; Cao jin <caoj.fnst@cn.fujitsu.com>; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>
> Subject: Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX:
> convert to realize()
> 
> On Di, 2016-01-12 at 09:50 +0000, Hao, Xudong wrote:
> > With latest qemu 7b8a354d4716, RHEL7.2 (with default kernel) VM still can't
> boot up with IGD.
> 
> There is another bug, using pci_default_write_config() doesn't fly as this checks
> writes against wmask and the registers in question are not whitelisted ...
> 
> I've just rebased my igd patch series which (among other stuff) fixes that bug:
>   https://www.kraxel.org/cgit/qemu/log/?h=work/igd
>   git://git.kraxel.org/qemu work/igd
> 
> Can you give it a spin?
> 
> Also: what does "can't boot up" mean exactly?  Guest doesn't boot at all?  Guest
> boots, but igd/console/Xorg doesn't work?  In case of the
> latter:  Any chance to login via network and get a kernel log?
> 
> thanks,
>   Gerd
> 


[-- Attachment #2: rhel7-default-kernel-boot.log --]
[-- Type: application/octet-stream, Size: 24511 bytes --]

[root@bdw-up1 tao]# xl console 7
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0-229.el7.x86_64 (mockbuild@x86-035.build.eng.bos.redhat.com) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-7) (GCC) ) #1 SMP Thu Jan 29 18:37:38 EST 2015
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.10.0-229.el7.x86_64 root=UUID=d745037f-04fc-4107-92e7-fc0606f9bbbd ro crashkernel=auto rhgb console=tty0 console=ttyS0,115200,8n1 LANG=en_US.UTF-8
[    0.000000] Disabled fast string operations
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000004dcf5fff] usable
[    0.000000] BIOS-e820: [mem 0x000000004dcf6000-0x000000004dd17fff] reserved
[    0.000000] BIOS-e820: [mem 0x000000008b000000-0x000000008f7fffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fc000000-0x00000000fdffbfff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fdffc000-0x00000000fdffefff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000fdfff000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x0000000134308fff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.4 present.
[    0.000000] Hypervisor detected: Xen HVM
[    0.000000] Xen version 4.6.
[    0.000000] Netfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated NICs.
[    0.000000] Blkfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated disks.
[    0.000000] You might have to change the root device
[    0.000000] from /dev/hd[a-d] to /dev/xvd[a-d]
[    0.000000] in your root= kernel command line option
[    0.000000] No AGP bridge found
[    0.000000] e820: last_pfn = 0x134309 max_arch_pfn = 0x400000000
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[    0.000000] e820: last_pfn = 0x4dcf6 max_arch_pfn = 0x400000000
[    0.000000] found SMP MP-table at [mem 0x000f5d30-0x000f5d3f] mapped at [ffff8800000f5d30]
[    0.000000] Using GB pages for direct mapping
[    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[    0.000000] init_memory_mapping: [mem 0x134000000-0x1341fffff]
[    0.000000] init_memory_mapping: [mem 0x130000000-0x133ffffff]
[    0.000000] init_memory_mapping: [mem 0x100000000-0x12fffffff]
[    0.000000] init_memory_mapping: [mem 0x00100000-0x4dcf5fff]
[    0.000000] init_memory_mapping: [mem 0x134200000-0x134308fff]
[    0.000000] RAMDISK: [mem 0x360a5000-0x3704afff]
[    0.000000] ACPI: RSDP 00000000000f5c80 00024 (v02    Xen)
[    0.000000] ACPI: XSDT 00000000fc00a0f0 00054 (v01    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: FACP 00000000fc009a20 000F4 (v04    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: DSDT 00000000fc001310 08690 (v02    Xen      HVM 00000000 INTL 20090123)
[    0.000000] ACPI: FACS 00000000fc0012d0 00040
[    0.000000] ACPI: APIC 00000000fc009b20 00460 (v02    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: HPET 00000000fc00a000 00038 (v01    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: WAET 00000000fc00a040 00028 (v01    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: SSDT 00000000fc00a070 00031 (v02    Xen      HVM 00000000 INTL 20090123)
[    0.000000] ACPI: SSDT 00000000fc00a0b0 00031 (v02    Xen      HVM 00000000 INTL 20090123)
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at [mem 0x0000000000000000-0x0000000134308fff]
[    0.000000] Initmem setup node 0 [mem 0x00000000-0x134308fff]
[    0.000000]   NODE_DATA [mem 0x1342e2000-0x134308fff]
[    0.000000] Reserving 161MB of memory at 688MB for crashkernel (System RAM: 2079MB)
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x00001000-0x00ffffff]
[    0.000000]   DMA32    [mem 0x01000000-0xffffffff]
[    0.000000]   Normal   [mem 0x100000000-0x134308fff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00001000-0x0009efff]
[    0.000000]   node   0: [mem 0x00100000-0x4dcf5fff]
[    0.000000]   node   0: [mem 0x100000000-0x134308fff]
[    0.000000] Reserving Intel graphics stolen memory at 0x8b800000-0x8f7fffff
[    0.000000] ACPI: PM-Timer IO Port: 0xb008
[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x02] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x04] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x06] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x08] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x0a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x0c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x0e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x10] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x12] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x14] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x16] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x18] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x1a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x1c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0f] lapic_id[0x1e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x10] lapic_id[0x20] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x11] lapic_id[0x22] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x12] lapic_id[0x24] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x13] lapic_id[0x26] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x14] lapic_id[0x28] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x15] lapic_id[0x2a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x16] lapic_id[0x2c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x17] lapic_id[0x2e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x18] lapic_id[0x30] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x19] lapic_id[0x32] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x1a] lapic_id[0x34] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x1b] lapic_id[0x36] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x1c] lapic_id[0x38] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x1d] lapic_id[0x3a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x1e] lapic_id[0x3c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x1f] lapic_id[0x3e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x20] lapic_id[0x40] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x21] lapic_id[0x42] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x22] lapic_id[0x44] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x23] lapic_id[0x46] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x24] lapic_id[0x48] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x25] lapic_id[0x4a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x26] lapic_id[0x4c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x27] lapic_id[0x4e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x28] lapic_id[0x50] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x29] lapic_id[0x52] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x2a] lapic_id[0x54] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x2b] lapic_id[0x56] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x2c] lapic_id[0x58] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x2d] lapic_id[0x5a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x2e] lapic_id[0x5c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x2f] lapic_id[0x5e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x30] lapic_id[0x60] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x31] lapic_id[0x62] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x32] lapic_id[0x64] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x33] lapic_id[0x66] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x34] lapic_id[0x68] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x35] lapic_id[0x6a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x36] lapic_id[0x6c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x37] lapic_id[0x6e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x38] lapic_id[0x70] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x39] lapic_id[0x72] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x3a] lapic_id[0x74] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x3b] lapic_id[0x76] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x3c] lapic_id[0x78] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x3d] lapic_id[0x7a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x3e] lapic_id[0x7c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x3f] lapic_id[0x7e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x40] lapic_id[0x80] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x41] lapic_id[0x82] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x42] lapic_id[0x84] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x43] lapic_id[0x86] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x44] lapic_id[0x88] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x45] lapic_id[0x8a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x46] lapic_id[0x8c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x47] lapic_id[0x8e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x48] lapic_id[0x90] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x49] lapic_id[0x92] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x4a] lapic_id[0x94] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x4b] lapic_id[0x96] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x4c] lapic_id[0x98] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x4d] lapic_id[0x9a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x4e] lapic_id[0x9c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x4f] lapic_id[0x9e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x50] lapic_id[0xa0] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x51] lapic_id[0xa2] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x52] lapic_id[0xa4] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x53] lapic_id[0xa6] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x54] lapic_id[0xa8] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x55] lapic_id[0xaa] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x56] lapic_id[0xac] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x57] lapic_id[0xae] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x58] lapic_id[0xb0] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x59] lapic_id[0xb2] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x5a] lapic_id[0xb4] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x5b] lapic_id[0xb6] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x5c] lapic_id[0xb8] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x5d] lapic_id[0xba] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x5e] lapic_id[0xbc] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x5f] lapic_id[0xbe] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x60] lapic_id[0xc0] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x61] lapic_id[0xc2] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x62] lapic_id[0xc4] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x63] lapic_id[0xc6] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x64] lapic_id[0xc8] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x65] lapic_id[0xca] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x66] lapic_id[0xcc] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x67] lapic_id[0xce] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x68] lapic_id[0xd0] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x69] lapic_id[0xd2] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x6a] lapic_id[0xd4] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x6b] lapic_id[0xd6] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x6c] lapic_id[0xd8] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x6d] lapic_id[0xda] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x6e] lapic_id[0xdc] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x6f] lapic_id[0xde] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x70] lapic_id[0xe0] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x71] lapic_id[0xe2] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x72] lapic_id[0xe4] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x73] lapic_id[0xe6] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x74] lapic_id[0xe8] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x75] lapic_id[0xea] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x76] lapic_id[0xec] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x77] lapic_id[0xee] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x78] lapic_id[0xf0] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x79] lapic_id[0xf2] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x7a] lapic_id[0xf4] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x7b] lapic_id[0xf6] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x7c] lapic_id[0xf8] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x7d] lapic_id[0xfa] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x7e] lapic_id[0xfc] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x7f] lapic_id[0xfe] disabled)
[    0.000000] ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, GSI 0-47
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 low level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 low level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 low level)
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] smpboot: Allowing 128 CPUs, 124 hotplug CPUs
[    0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[    0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000effff]
[    0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]
[    0.000000] PM: Registered nosave memory: [mem 0x4dcf6000-0x4dd17fff]
[    0.000000] PM: Registered nosave memory: [mem 0x4dd18000-0x8affffff]
[    0.000000] PM: Registered nosave memory: [mem 0x8b000000-0x8f7fffff]
[    0.000000] PM: Registered nosave memory: [mem 0x8f800000-0xfbffffff]
[    0.000000] PM: Registered nosave memory: [mem 0xfc000000-0xfdffbfff]
[    0.000000] PM: Registered nosave memory: [mem 0xfdffc000-0xfdffefff]
[    0.000000] PM: Registered nosave memory: [mem 0xfdfff000-0xffffffff]
[    0.000000] e820: [mem 0x8f800000-0xfbffffff] available for PCI devices
[    0.000000] Booting paravirtualized kernel on Xen HVM
[    0.000000] Detected CPU family 6 model 71
[    0.000000] Warning: Intel CPU model - this hardware has not undergone testing by Red Hat and might not be certified. Please consult https://hardware.redhat.com for certified hardware.
[    0.000000] setup_percpu: NR_CPUS:5120 nr_cpumask_bits:128 nr_cpu_ids:128 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff880130600000 s82752 r8192 d23744 u131072
[    0.000000] Built 1 zonelists in Node order, mobility grouping on.  Total pages: 524039
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.10.0-229.el7.x86_64 root=UUID=d745037f-04fc-4107-92e7-fc0606f9bbbd ro crashkernel=auto rhgb console=tty0 console=ttyS0,115200,8n1 LANG=en_US.UTF-8
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] xsave: enabled xstate_bv 0x7, cntxt size 0x340
[    0.000000] Checking aperture...
[    0.000000] No AGP bridge found
[    0.000000] Memory: 1817652k/5049380k available (6241k kernel code, 2919856k absent, 311872k reserved, 4181k data, 1604k init)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=128, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU restricting CPUs from NR_CPUS=5120 to nr_cpu_ids=128.
[    0.000000] 	Experimental no-CBs for all CPUs
[    0.000000] 	Experimental no-CBs CPUs: 0-127.
[    0.000000] NR_IRQS:327936 nr_irqs:2112 16
[    0.000000] xen:events: Xen HVM callback vector for event delivery is enabled
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [tty0] enabled
[    0.000000] console [ttyS0] enabled
[    0.000000] allocated 8912896 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] tsc: Detected 3492.004 MHz processor
[    0.002000] Calibrating delay loop (skipped), value calculated using timer frequency.. 6984.00 BogoMIPS (lpj=3492004)
[    0.004001] pid_max: default: 131072 minimum: 1024
[    0.005047] Security Framework initialized
[    0.007005] SELinux:  Initializing.
[    0.008211] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.010285] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.012106] Mount-cache hash table entries: 4096
[    0.014185] Initializing cgroup subsys memory
[    0.015009] Initializing cgroup subsys devices
[    0.016001] Initializing cgroup subsys freezer
[    0.017001] Initializing cgroup subsys net_cls
[    0.019001] Initializing cgroup subsys blkio
[    0.020001] Initializing cgroup subsys perf_event
[    0.021004] Initializing cgroup subsys hugetlb
[    0.022044] Disabled fast string operations
[    0.023012] CPU: Physical Processor ID: 0
[    0.025001] CPU: Processor Core ID: 0
[    0.026772] mce: CPU supports 2 MCE banks
[    0.027019] Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0
[    0.027019] Last level dTLB entries: 4KB 64, 2MB 0, 4MB 0
[    0.027019] tlb_flushall_shift: 6
[    0.032352] Freeing SMP alternatives: 24k freed
[    0.035354] ACPI: Core revision 20130517
[    0.044423] ACPI: All ACPI Tables successfully acquired
[    0.046002] ftrace: allocating 23909 entries in 94 pages
[    0.063687] Switched APIC routing to physical flat.
[    0.066212] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=0 pin2=0
[    0.077790] smpboot: CPU0: Intel(R) Xeon(R) CPU E3-1285 v4 @ 3.50GHz (fam: 06, model: 47, stepping: 01)
[    0.080480] installing Xen timer for CPU 0
[    0.081080] cpu 0 spinlock event irq 69
[    0.082043] Performance Events: unsupported p6 CPU model 71 no PMU driver, software events only.
[    0.086278] NMI watchdog: disabled (cpu0): hardware events not enabled
[    0.087034] installing Xen timer for CPU 1
[    0.088063] smpboot: Booting Node   0, Processors  #1[    0.086271] Disabled fast string operations
cpu 1 spinlock event irq 75
[    0.105917] installing Xen timer for CPU 2
[    0.106061]  #2[    0.105875] Disabled fast string operations
cpu 2 spinlock event irq 81
[    0.121863] installing Xen timer for CPU 3
[    0.122061]  #3[    0.121826] Disabled fast string operations
cpu 3 spinlock event irq 87
[    0.137854] Brought up 4 CPUs
[    0.138004] smpboot: Total of 4 processors activated (27936.03 BogoMIPS)
[    0.140276] devtmpfs: initialized
[    0.142091] EVM: security.selinux
[    0.143005] EVM: security.ima
[    0.144003] EVM: security.capability
[    0.145038] PM: Registering ACPI NVS region [mem 0xfdffc000-0xfdffefff] (12288 bytes)
[    0.146503] atomic64 test passed for x86-64 platform with CX8 and with SSE
[    0.147097] NET: Registered protocol family 16
[    0.148107] ACPI: bus type PCI registered
[    0.149005] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.150204] PCI: Using configuration type 1 for base access
[    0.151460] ACPI: Added _OSI(Module Device)
[    0.152005] ACPI: Added _OSI(Processor Device)
[    0.153004] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.154004] ACPI: Added _OSI(Processor Aggregator Device)
[    0.163687] ACPI: Interpreter enabled
[    0.164006] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20130517/hwxface-571)
[    0.166824] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20130517/hwxface-571)
[    0.168835] ACPI: (supports S0 S3 S4 S5)
[    0.169004] ACPI: Using IOAPIC for interrupt routing
[    0.170021] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.178588] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.179009] acpi PNP0A03:00: _OSC: OS supports [ASPM ClockPM Segments MSI]
[    0.180007] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
[    0.181244] acpi PNP0A03:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge.
[    0.182260] acpiphp: Slot [3] registered
[    0.183030] acpiphp: Slot [4] registered
[    0.184028] acpiphp: Slot [5] registered
[    0.185040] acpiphp: Slot [6] registered
[    0.186040] acpiphp: Slot [7] registered
[    0.187028] acpiphp: Slot [8] registered
[    0.188028] acpiphp: Slot [9] registered
[    0.189027] acpiphp: Slot [10] registered
[    0.190028] acpiphp: Slot [11] registered
[    0.191028] acpiphp: Slot [12] registered
[    0.192029] acpiphp: Slot [13] registered
[    0.193028] acpiphp: Slot [14] registered
[    0.194028] acpiphp: Slot [15] registered
[    0.195033] acpiphp: Slot [16] registered
[    0.196030] acpiphp: Slot [17] registered
[    0.197029] acpiphp: Slot [18] registered
[    0.198028] acpiphp: Slot [19] registered
[    0.199028] acpiphp: Slot [20] registered
[    0.200030] acpiphp: Slot [21] registered
[    0.201029] acpiphp: Slot [22] registered
[    0.202028] acpiphp: Slot [23] registered
[    0.203027] acpiphp: Slot [24] registered
[    0.204027] acpiphp: Slot [25] registered
[    0.205028] acpiphp: Slot [26] registered
[    0.206029] acpiphp: Slot [27] registered
[    0.207029] acpiphp: Slot [28] registered
[    0.208027] acpiphp: Slot [29] registered
[    0.209028] acpiphp: Slot [30] registered
[    0.210027] acpiphp: Slot [31] registered
[    0.211032] PCI host bridge to bus 0000:00
[    0.212005] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.213004] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7]
[    0.214004] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff]
[    0.215005] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
[    0.216007] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfbffffff]
[    0.225669] pci 0000:00:01.1: legacy IDE quirk: reg 0x10: [io  0x01f0-0x01f7]
[    0.226005] pci 0000:00:01.1: legacy IDE quirk: reg 0x14: [io  0x03f6]
[    0.227004] pci 0000:00:01.1: legacy IDE quirk: reg 0x18: [io  0x0170-0x0177]
[    0.228004] pci 0000:00:01.1: legacy IDE quirk: reg 0x1c: [io  0x0376]
[    0.230161] pci 0000:00:01.3: quirk: [io  0xb000-0xb03f] claimed by PIIX4 ACPI
[    0.231032] pci 0000:00:01.3: quirk: [io  0xb100-0xb10f] claimed by PIIX4 SMB
[    0.262435] ACPI: PCI Interrupt Link [LNKA] (IRQs *5 10 11)
[    0.263964] ACPI: PCI Interrupt Link [LNKB] (IRQs 5 *10 11)
[    0.264951] ACPI: PCI Interrupt Link [LNKC] (IRQs 5 10 *11)
[    0.265943] ACPI: PCI Interrupt Link [LNKD] (IRQs *5 10 11)
[    0.267913] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.268052] xen:balloon: Initialising balloon driver
[    0.270026] xen_balloon: Initialising balloon driver
[    0.271070] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    0.272049] vgaarb: device added: PCI:0000:00:06.0,decodes=io+mem,owns=io+mem,locks=none
[    0.273007] vgaarb: loaded
[    0.274029] vgaarb: bridge control possible 0000:00:06.0
[    0.275007] vgaarb: no bridge control possible 0000:00:02.0
[    0.276095] SCSI subsystem initialized
[    0.277104] ACPI: bus type USB registered
[    0.278019] usbcore: registered new interface driver usbfs
[    0.279009] usbcore: registered new interface driver hub
[    0.280072] usbcore: registered new device driver usb
[    0.281104] PCI: Using ACPI for IRQ routing
[    0.283182] NetLabel: Initializing
[    0.284146] NetLabel:  domain hash size = 128
[    0.285007] NetLabel:  protocols = UNLABELED CIPSOv4
[    0.286061] NetLabel:  unlabeled traffic allowed by default
[    0.287093] HPET: 3 timers in total, 0 timers will be used for per-cpu timer
[    0.288063] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    0.290562] hpet0: 3 comparators, 64-bit 62.500000 MHz counter

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-13  1:55                                 ` Hao, Xudong
  0 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-13  1:55 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	Stefano Stabellini, qemu-devel, Cao jin, Stefano Stabellini

[-- Attachment #1: Type: text/plain, Size: 1636 bytes --]

"can't boot up" means guest doesn't boot at all, guest will stop to booting after adding vga device, detail log in attachment.

Thanks,
-Xudong


> -----Original Message-----
> From: qemu-devel-bounces+xudong.hao=intel.com@nongnu.org [mailto:qemu-
> devel-bounces+xudong.hao=intel.com@nongnu.org] On Behalf Of Gerd
> Hoffmann
> Sent: Tuesday, January 12, 2016 6:25 PM
> To: Hao, Xudong <xudong.hao@intel.com>
> Cc: Lars Kurth <lars.kurth@citrix.com>; xen-devel@lists.xensource.com; Stefano
> Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> <lars.kurth.xen@gmail.com>; Michael S. Tsirkin <mst@redhat.com>; qemu-
> devel@nongnu.org; Cao jin <caoj.fnst@cn.fujitsu.com>; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>
> Subject: Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX:
> convert to realize()
> 
> On Di, 2016-01-12 at 09:50 +0000, Hao, Xudong wrote:
> > With latest qemu 7b8a354d4716, RHEL7.2 (with default kernel) VM still can't
> boot up with IGD.
> 
> There is another bug, using pci_default_write_config() doesn't fly as this checks
> writes against wmask and the registers in question are not whitelisted ...
> 
> I've just rebased my igd patch series which (among other stuff) fixes that bug:
>   https://www.kraxel.org/cgit/qemu/log/?h=work/igd
>   git://git.kraxel.org/qemu work/igd
> 
> Can you give it a spin?
> 
> Also: what does "can't boot up" mean exactly?  Guest doesn't boot at all?  Guest
> boots, but igd/console/Xorg doesn't work?  In case of the
> latter:  Any chance to login via network and get a kernel log?
> 
> thanks,
>   Gerd
> 


[-- Attachment #2: rhel7-default-kernel-boot.log --]
[-- Type: application/octet-stream, Size: 24511 bytes --]

[root@bdw-up1 tao]# xl console 7
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0-229.el7.x86_64 (mockbuild@x86-035.build.eng.bos.redhat.com) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-7) (GCC) ) #1 SMP Thu Jan 29 18:37:38 EST 2015
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.10.0-229.el7.x86_64 root=UUID=d745037f-04fc-4107-92e7-fc0606f9bbbd ro crashkernel=auto rhgb console=tty0 console=ttyS0,115200,8n1 LANG=en_US.UTF-8
[    0.000000] Disabled fast string operations
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000004dcf5fff] usable
[    0.000000] BIOS-e820: [mem 0x000000004dcf6000-0x000000004dd17fff] reserved
[    0.000000] BIOS-e820: [mem 0x000000008b000000-0x000000008f7fffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fc000000-0x00000000fdffbfff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fdffc000-0x00000000fdffefff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000fdfff000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x0000000134308fff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.4 present.
[    0.000000] Hypervisor detected: Xen HVM
[    0.000000] Xen version 4.6.
[    0.000000] Netfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated NICs.
[    0.000000] Blkfront and the Xen platform PCI driver have been compiled for this kernel: unplug emulated disks.
[    0.000000] You might have to change the root device
[    0.000000] from /dev/hd[a-d] to /dev/xvd[a-d]
[    0.000000] in your root= kernel command line option
[    0.000000] No AGP bridge found
[    0.000000] e820: last_pfn = 0x134309 max_arch_pfn = 0x400000000
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[    0.000000] e820: last_pfn = 0x4dcf6 max_arch_pfn = 0x400000000
[    0.000000] found SMP MP-table at [mem 0x000f5d30-0x000f5d3f] mapped at [ffff8800000f5d30]
[    0.000000] Using GB pages for direct mapping
[    0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff]
[    0.000000] init_memory_mapping: [mem 0x134000000-0x1341fffff]
[    0.000000] init_memory_mapping: [mem 0x130000000-0x133ffffff]
[    0.000000] init_memory_mapping: [mem 0x100000000-0x12fffffff]
[    0.000000] init_memory_mapping: [mem 0x00100000-0x4dcf5fff]
[    0.000000] init_memory_mapping: [mem 0x134200000-0x134308fff]
[    0.000000] RAMDISK: [mem 0x360a5000-0x3704afff]
[    0.000000] ACPI: RSDP 00000000000f5c80 00024 (v02    Xen)
[    0.000000] ACPI: XSDT 00000000fc00a0f0 00054 (v01    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: FACP 00000000fc009a20 000F4 (v04    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: DSDT 00000000fc001310 08690 (v02    Xen      HVM 00000000 INTL 20090123)
[    0.000000] ACPI: FACS 00000000fc0012d0 00040
[    0.000000] ACPI: APIC 00000000fc009b20 00460 (v02    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: HPET 00000000fc00a000 00038 (v01    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: WAET 00000000fc00a040 00028 (v01    Xen      HVM 00000000 HVML 00000000)
[    0.000000] ACPI: SSDT 00000000fc00a070 00031 (v02    Xen      HVM 00000000 INTL 20090123)
[    0.000000] ACPI: SSDT 00000000fc00a0b0 00031 (v02    Xen      HVM 00000000 INTL 20090123)
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at [mem 0x0000000000000000-0x0000000134308fff]
[    0.000000] Initmem setup node 0 [mem 0x00000000-0x134308fff]
[    0.000000]   NODE_DATA [mem 0x1342e2000-0x134308fff]
[    0.000000] Reserving 161MB of memory at 688MB for crashkernel (System RAM: 2079MB)
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x00001000-0x00ffffff]
[    0.000000]   DMA32    [mem 0x01000000-0xffffffff]
[    0.000000]   Normal   [mem 0x100000000-0x134308fff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00001000-0x0009efff]
[    0.000000]   node   0: [mem 0x00100000-0x4dcf5fff]
[    0.000000]   node   0: [mem 0x100000000-0x134308fff]
[    0.000000] Reserving Intel graphics stolen memory at 0x8b800000-0x8f7fffff
[    0.000000] ACPI: PM-Timer IO Port: 0xb008
[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x02] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x04] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x06] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x08] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x05] lapic_id[0x0a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x06] lapic_id[0x0c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x07] lapic_id[0x0e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x08] lapic_id[0x10] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x09] lapic_id[0x12] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0a] lapic_id[0x14] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0b] lapic_id[0x16] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0c] lapic_id[0x18] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0d] lapic_id[0x1a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0e] lapic_id[0x1c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x0f] lapic_id[0x1e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x10] lapic_id[0x20] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x11] lapic_id[0x22] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x12] lapic_id[0x24] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x13] lapic_id[0x26] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x14] lapic_id[0x28] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x15] lapic_id[0x2a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x16] lapic_id[0x2c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x17] lapic_id[0x2e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x18] lapic_id[0x30] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x19] lapic_id[0x32] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x1a] lapic_id[0x34] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x1b] lapic_id[0x36] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x1c] lapic_id[0x38] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x1d] lapic_id[0x3a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x1e] lapic_id[0x3c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x1f] lapic_id[0x3e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x20] lapic_id[0x40] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x21] lapic_id[0x42] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x22] lapic_id[0x44] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x23] lapic_id[0x46] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x24] lapic_id[0x48] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x25] lapic_id[0x4a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x26] lapic_id[0x4c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x27] lapic_id[0x4e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x28] lapic_id[0x50] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x29] lapic_id[0x52] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x2a] lapic_id[0x54] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x2b] lapic_id[0x56] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x2c] lapic_id[0x58] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x2d] lapic_id[0x5a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x2e] lapic_id[0x5c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x2f] lapic_id[0x5e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x30] lapic_id[0x60] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x31] lapic_id[0x62] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x32] lapic_id[0x64] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x33] lapic_id[0x66] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x34] lapic_id[0x68] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x35] lapic_id[0x6a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x36] lapic_id[0x6c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x37] lapic_id[0x6e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x38] lapic_id[0x70] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x39] lapic_id[0x72] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x3a] lapic_id[0x74] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x3b] lapic_id[0x76] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x3c] lapic_id[0x78] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x3d] lapic_id[0x7a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x3e] lapic_id[0x7c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x3f] lapic_id[0x7e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x40] lapic_id[0x80] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x41] lapic_id[0x82] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x42] lapic_id[0x84] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x43] lapic_id[0x86] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x44] lapic_id[0x88] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x45] lapic_id[0x8a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x46] lapic_id[0x8c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x47] lapic_id[0x8e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x48] lapic_id[0x90] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x49] lapic_id[0x92] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x4a] lapic_id[0x94] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x4b] lapic_id[0x96] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x4c] lapic_id[0x98] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x4d] lapic_id[0x9a] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x4e] lapic_id[0x9c] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x4f] lapic_id[0x9e] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x50] lapic_id[0xa0] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x51] lapic_id[0xa2] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x52] lapic_id[0xa4] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x53] lapic_id[0xa6] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x54] lapic_id[0xa8] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x55] lapic_id[0xaa] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x56] lapic_id[0xac] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x57] lapic_id[0xae] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x58] lapic_id[0xb0] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x59] lapic_id[0xb2] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x5a] lapic_id[0xb4] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x5b] lapic_id[0xb6] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x5c] lapic_id[0xb8] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x5d] lapic_id[0xba] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x5e] lapic_id[0xbc] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x5f] lapic_id[0xbe] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x60] lapic_id[0xc0] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x61] lapic_id[0xc2] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x62] lapic_id[0xc4] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x63] lapic_id[0xc6] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x64] lapic_id[0xc8] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x65] lapic_id[0xca] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x66] lapic_id[0xcc] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x67] lapic_id[0xce] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x68] lapic_id[0xd0] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x69] lapic_id[0xd2] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x6a] lapic_id[0xd4] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x6b] lapic_id[0xd6] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x6c] lapic_id[0xd8] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x6d] lapic_id[0xda] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x6e] lapic_id[0xdc] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x6f] lapic_id[0xde] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x70] lapic_id[0xe0] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x71] lapic_id[0xe2] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x72] lapic_id[0xe4] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x73] lapic_id[0xe6] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x74] lapic_id[0xe8] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x75] lapic_id[0xea] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x76] lapic_id[0xec] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x77] lapic_id[0xee] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x78] lapic_id[0xf0] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x79] lapic_id[0xf2] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x7a] lapic_id[0xf4] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x7b] lapic_id[0xf6] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x7c] lapic_id[0xf8] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x7d] lapic_id[0xfa] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x7e] lapic_id[0xfc] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x7f] lapic_id[0xfe] disabled)
[    0.000000] ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, GSI 0-47
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 low level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 low level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 low level)
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] smpboot: Allowing 128 CPUs, 124 hotplug CPUs
[    0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[    0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000effff]
[    0.000000] PM: Registered nosave memory: [mem 0x000f0000-0x000fffff]
[    0.000000] PM: Registered nosave memory: [mem 0x4dcf6000-0x4dd17fff]
[    0.000000] PM: Registered nosave memory: [mem 0x4dd18000-0x8affffff]
[    0.000000] PM: Registered nosave memory: [mem 0x8b000000-0x8f7fffff]
[    0.000000] PM: Registered nosave memory: [mem 0x8f800000-0xfbffffff]
[    0.000000] PM: Registered nosave memory: [mem 0xfc000000-0xfdffbfff]
[    0.000000] PM: Registered nosave memory: [mem 0xfdffc000-0xfdffefff]
[    0.000000] PM: Registered nosave memory: [mem 0xfdfff000-0xffffffff]
[    0.000000] e820: [mem 0x8f800000-0xfbffffff] available for PCI devices
[    0.000000] Booting paravirtualized kernel on Xen HVM
[    0.000000] Detected CPU family 6 model 71
[    0.000000] Warning: Intel CPU model - this hardware has not undergone testing by Red Hat and might not be certified. Please consult https://hardware.redhat.com for certified hardware.
[    0.000000] setup_percpu: NR_CPUS:5120 nr_cpumask_bits:128 nr_cpu_ids:128 nr_node_ids:1
[    0.000000] PERCPU: Embedded 28 pages/cpu @ffff880130600000 s82752 r8192 d23744 u131072
[    0.000000] Built 1 zonelists in Node order, mobility grouping on.  Total pages: 524039
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.10.0-229.el7.x86_64 root=UUID=d745037f-04fc-4107-92e7-fc0606f9bbbd ro crashkernel=auto rhgb console=tty0 console=ttyS0,115200,8n1 LANG=en_US.UTF-8
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] xsave: enabled xstate_bv 0x7, cntxt size 0x340
[    0.000000] Checking aperture...
[    0.000000] No AGP bridge found
[    0.000000] Memory: 1817652k/5049380k available (6241k kernel code, 2919856k absent, 311872k reserved, 4181k data, 1604k init)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=128, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU restricting CPUs from NR_CPUS=5120 to nr_cpu_ids=128.
[    0.000000] 	Experimental no-CBs for all CPUs
[    0.000000] 	Experimental no-CBs CPUs: 0-127.
[    0.000000] NR_IRQS:327936 nr_irqs:2112 16
[    0.000000] xen:events: Xen HVM callback vector for event delivery is enabled
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [tty0] enabled
[    0.000000] console [ttyS0] enabled
[    0.000000] allocated 8912896 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] tsc: Detected 3492.004 MHz processor
[    0.002000] Calibrating delay loop (skipped), value calculated using timer frequency.. 6984.00 BogoMIPS (lpj=3492004)
[    0.004001] pid_max: default: 131072 minimum: 1024
[    0.005047] Security Framework initialized
[    0.007005] SELinux:  Initializing.
[    0.008211] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.010285] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.012106] Mount-cache hash table entries: 4096
[    0.014185] Initializing cgroup subsys memory
[    0.015009] Initializing cgroup subsys devices
[    0.016001] Initializing cgroup subsys freezer
[    0.017001] Initializing cgroup subsys net_cls
[    0.019001] Initializing cgroup subsys blkio
[    0.020001] Initializing cgroup subsys perf_event
[    0.021004] Initializing cgroup subsys hugetlb
[    0.022044] Disabled fast string operations
[    0.023012] CPU: Physical Processor ID: 0
[    0.025001] CPU: Processor Core ID: 0
[    0.026772] mce: CPU supports 2 MCE banks
[    0.027019] Last level iTLB entries: 4KB 0, 2MB 0, 4MB 0
[    0.027019] Last level dTLB entries: 4KB 64, 2MB 0, 4MB 0
[    0.027019] tlb_flushall_shift: 6
[    0.032352] Freeing SMP alternatives: 24k freed
[    0.035354] ACPI: Core revision 20130517
[    0.044423] ACPI: All ACPI Tables successfully acquired
[    0.046002] ftrace: allocating 23909 entries in 94 pages
[    0.063687] Switched APIC routing to physical flat.
[    0.066212] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=0 pin2=0
[    0.077790] smpboot: CPU0: Intel(R) Xeon(R) CPU E3-1285 v4 @ 3.50GHz (fam: 06, model: 47, stepping: 01)
[    0.080480] installing Xen timer for CPU 0
[    0.081080] cpu 0 spinlock event irq 69
[    0.082043] Performance Events: unsupported p6 CPU model 71 no PMU driver, software events only.
[    0.086278] NMI watchdog: disabled (cpu0): hardware events not enabled
[    0.087034] installing Xen timer for CPU 1
[    0.088063] smpboot: Booting Node   0, Processors  #1[    0.086271] Disabled fast string operations
cpu 1 spinlock event irq 75
[    0.105917] installing Xen timer for CPU 2
[    0.106061]  #2[    0.105875] Disabled fast string operations
cpu 2 spinlock event irq 81
[    0.121863] installing Xen timer for CPU 3
[    0.122061]  #3[    0.121826] Disabled fast string operations
cpu 3 spinlock event irq 87
[    0.137854] Brought up 4 CPUs
[    0.138004] smpboot: Total of 4 processors activated (27936.03 BogoMIPS)
[    0.140276] devtmpfs: initialized
[    0.142091] EVM: security.selinux
[    0.143005] EVM: security.ima
[    0.144003] EVM: security.capability
[    0.145038] PM: Registering ACPI NVS region [mem 0xfdffc000-0xfdffefff] (12288 bytes)
[    0.146503] atomic64 test passed for x86-64 platform with CX8 and with SSE
[    0.147097] NET: Registered protocol family 16
[    0.148107] ACPI: bus type PCI registered
[    0.149005] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.150204] PCI: Using configuration type 1 for base access
[    0.151460] ACPI: Added _OSI(Module Device)
[    0.152005] ACPI: Added _OSI(Processor Device)
[    0.153004] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.154004] ACPI: Added _OSI(Processor Aggregator Device)
[    0.163687] ACPI: Interpreter enabled
[    0.164006] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20130517/hwxface-571)
[    0.166824] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20130517/hwxface-571)
[    0.168835] ACPI: (supports S0 S3 S4 S5)
[    0.169004] ACPI: Using IOAPIC for interrupt routing
[    0.170021] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.178588] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.179009] acpi PNP0A03:00: _OSC: OS supports [ASPM ClockPM Segments MSI]
[    0.180007] acpi PNP0A03:00: _OSC failed (AE_NOT_FOUND); disabling ASPM
[    0.181244] acpi PNP0A03:00: fail to add MMCONFIG information, can't access extended PCI configuration space under this bridge.
[    0.182260] acpiphp: Slot [3] registered
[    0.183030] acpiphp: Slot [4] registered
[    0.184028] acpiphp: Slot [5] registered
[    0.185040] acpiphp: Slot [6] registered
[    0.186040] acpiphp: Slot [7] registered
[    0.187028] acpiphp: Slot [8] registered
[    0.188028] acpiphp: Slot [9] registered
[    0.189027] acpiphp: Slot [10] registered
[    0.190028] acpiphp: Slot [11] registered
[    0.191028] acpiphp: Slot [12] registered
[    0.192029] acpiphp: Slot [13] registered
[    0.193028] acpiphp: Slot [14] registered
[    0.194028] acpiphp: Slot [15] registered
[    0.195033] acpiphp: Slot [16] registered
[    0.196030] acpiphp: Slot [17] registered
[    0.197029] acpiphp: Slot [18] registered
[    0.198028] acpiphp: Slot [19] registered
[    0.199028] acpiphp: Slot [20] registered
[    0.200030] acpiphp: Slot [21] registered
[    0.201029] acpiphp: Slot [22] registered
[    0.202028] acpiphp: Slot [23] registered
[    0.203027] acpiphp: Slot [24] registered
[    0.204027] acpiphp: Slot [25] registered
[    0.205028] acpiphp: Slot [26] registered
[    0.206029] acpiphp: Slot [27] registered
[    0.207029] acpiphp: Slot [28] registered
[    0.208027] acpiphp: Slot [29] registered
[    0.209028] acpiphp: Slot [30] registered
[    0.210027] acpiphp: Slot [31] registered
[    0.211032] PCI host bridge to bus 0000:00
[    0.212005] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.213004] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7]
[    0.214004] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff]
[    0.215005] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff]
[    0.216007] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfbffffff]
[    0.225669] pci 0000:00:01.1: legacy IDE quirk: reg 0x10: [io  0x01f0-0x01f7]
[    0.226005] pci 0000:00:01.1: legacy IDE quirk: reg 0x14: [io  0x03f6]
[    0.227004] pci 0000:00:01.1: legacy IDE quirk: reg 0x18: [io  0x0170-0x0177]
[    0.228004] pci 0000:00:01.1: legacy IDE quirk: reg 0x1c: [io  0x0376]
[    0.230161] pci 0000:00:01.3: quirk: [io  0xb000-0xb03f] claimed by PIIX4 ACPI
[    0.231032] pci 0000:00:01.3: quirk: [io  0xb100-0xb10f] claimed by PIIX4 SMB
[    0.262435] ACPI: PCI Interrupt Link [LNKA] (IRQs *5 10 11)
[    0.263964] ACPI: PCI Interrupt Link [LNKB] (IRQs 5 *10 11)
[    0.264951] ACPI: PCI Interrupt Link [LNKC] (IRQs 5 10 *11)
[    0.265943] ACPI: PCI Interrupt Link [LNKD] (IRQs *5 10 11)
[    0.267913] ACPI: Enabled 2 GPEs in block 00 to 0F
[    0.268052] xen:balloon: Initialising balloon driver
[    0.270026] xen_balloon: Initialising balloon driver
[    0.271070] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    0.272049] vgaarb: device added: PCI:0000:00:06.0,decodes=io+mem,owns=io+mem,locks=none
[    0.273007] vgaarb: loaded
[    0.274029] vgaarb: bridge control possible 0000:00:06.0
[    0.275007] vgaarb: no bridge control possible 0000:00:02.0
[    0.276095] SCSI subsystem initialized
[    0.277104] ACPI: bus type USB registered
[    0.278019] usbcore: registered new interface driver usbfs
[    0.279009] usbcore: registered new interface driver hub
[    0.280072] usbcore: registered new device driver usb
[    0.281104] PCI: Using ACPI for IRQ routing
[    0.283182] NetLabel: Initializing
[    0.284146] NetLabel:  domain hash size = 128
[    0.285007] NetLabel:  protocols = UNLABELED CIPSOv4
[    0.286061] NetLabel:  unlabeled traffic allowed by default
[    0.287093] HPET: 3 timers in total, 0 timers will be used for per-cpu timer
[    0.288063] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    0.290562] hpet0: 3 comparators, 64-bit 62.500000 MHz counter

^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
  2016-01-12 10:24                               ` Gerd Hoffmann
@ 2016-01-13  7:37                                 ` Hao, Xudong
  -1 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-13  7:37 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	Stefano Stabellini, qemu-devel, Cao jin, Stefano Stabellini

> -----Original Message-----
> From: qemu-devel-bounces+xudong.hao=intel.com@nongnu.org [mailto:qemu-
> devel-bounces+xudong.hao=intel.com@nongnu.org] On Behalf Of Gerd
> Hoffmann
> Sent: Tuesday, January 12, 2016 6:25 PM
> To: Hao, Xudong <xudong.hao@intel.com>
> Cc: Lars Kurth <lars.kurth@citrix.com>; xen-devel@lists.xensource.com; Stefano
> Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> <lars.kurth.xen@gmail.com>; Michael S. Tsirkin <mst@redhat.com>; qemu-
> devel@nongnu.org; Cao jin <caoj.fnst@cn.fujitsu.com>; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>
> Subject: Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX:
> convert to realize()
> 
> On Di, 2016-01-12 at 09:50 +0000, Hao, Xudong wrote:
> > With latest qemu 7b8a354d4716, RHEL7.2 (with default kernel) VM still can't
> boot up with IGD.
> 
> There is another bug, using pci_default_write_config() doesn't fly as this checks
> writes against wmask and the registers in question are not whitelisted ...
> 
> I've just rebased my igd patch series which (among other stuff) fixes that bug:
>   https://www.kraxel.org/cgit/qemu/log/?h=work/igd
>   git://git.kraxel.org/qemu work/igd
> 
> Can you give it a spin?

The issue persist on this branch of tree (commit 1a0d06ce6), the VM kernel log attached in another mail while answered the following question.

> 
> Also: what does "can't boot up" mean exactly?  Guest doesn't boot at all?  Guest
> boots, but igd/console/Xorg doesn't work?  In case of the
> latter:  Any chance to login via network and get a kernel log?
> 
> thanks,
>   Gerd
> 


^ permalink raw reply	[flat|nested] 51+ messages in thread

* Re: [Xen-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize()
@ 2016-01-13  7:37                                 ` Hao, Xudong
  0 siblings, 0 replies; 51+ messages in thread
From: Hao, Xudong @ 2016-01-13  7:37 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: Lars Kurth, xen-devel, Michael S. Tsirkin, Lars Kurth,
	Stefano Stabellini, qemu-devel, Cao jin, Stefano Stabellini

> -----Original Message-----
> From: qemu-devel-bounces+xudong.hao=intel.com@nongnu.org [mailto:qemu-
> devel-bounces+xudong.hao=intel.com@nongnu.org] On Behalf Of Gerd
> Hoffmann
> Sent: Tuesday, January 12, 2016 6:25 PM
> To: Hao, Xudong <xudong.hao@intel.com>
> Cc: Lars Kurth <lars.kurth@citrix.com>; xen-devel@lists.xensource.com; Stefano
> Stabellini <stefano.stabellini@eu.citrix.com>; Lars Kurth
> <lars.kurth.xen@gmail.com>; Michael S. Tsirkin <mst@redhat.com>; qemu-
> devel@nongnu.org; Cao jin <caoj.fnst@cn.fujitsu.com>; Stefano Stabellini
> <Stefano.Stabellini@citrix.com>
> Subject: Re: [Qemu-devel] [Xen-devel] [PATCH v4] igd-passthrough-i440FX:
> convert to realize()
> 
> On Di, 2016-01-12 at 09:50 +0000, Hao, Xudong wrote:
> > With latest qemu 7b8a354d4716, RHEL7.2 (with default kernel) VM still can't
> boot up with IGD.
> 
> There is another bug, using pci_default_write_config() doesn't fly as this checks
> writes against wmask and the registers in question are not whitelisted ...
> 
> I've just rebased my igd patch series which (among other stuff) fixes that bug:
>   https://www.kraxel.org/cgit/qemu/log/?h=work/igd
>   git://git.kraxel.org/qemu work/igd
> 
> Can you give it a spin?

The issue persist on this branch of tree (commit 1a0d06ce6), the VM kernel log attached in another mail while answered the following question.

> 
> Also: what does "can't boot up" mean exactly?  Guest doesn't boot at all?  Guest
> boots, but igd/console/Xorg doesn't work?  In case of the
> latter:  Any chance to login via network and get a kernel log?
> 
> thanks,
>   Gerd
> 


^ permalink raw reply	[flat|nested] 51+ messages in thread

end of thread, other threads:[~2016-01-13  7:38 UTC | newest]

Thread overview: 51+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-29  8:46 [Qemu-devel] [PATCH v4] igd-passthrough-i440FX: convert to realize() Cao jin
2015-12-29  9:25 ` Cao jin
2015-12-29 11:25 ` Michael S. Tsirkin
2015-12-29 13:27   ` Cao jin
2016-01-04 14:47     ` Stefano Stabellini
2016-01-04 14:47       ` Stefano Stabellini
2016-01-04 15:33       ` [Qemu-devel] " Lars Kurth
2016-01-04 15:33         ` Lars Kurth
2016-01-04 15:41         ` [Qemu-devel] " Stefano Stabellini
2016-01-04 15:41           ` Stefano Stabellini
2016-01-04 19:49           ` Konrad Rzeszutek Wilk
2016-01-06 10:21           ` [Qemu-devel] [Xen-devel] " Lars Kurth
2016-01-06 10:21             ` Lars Kurth
2016-01-06 12:18             ` [Qemu-devel] [Xen-devel] " Stefano Stabellini
2016-01-06 12:18               ` Stefano Stabellini
2016-01-07  1:32               ` [Qemu-devel] " Hao, Xudong
2016-01-07  1:32                 ` Hao, Xudong
2016-01-08 11:57                 ` [Qemu-devel] [Xen-devel] " Stefano Stabellini
2016-01-08 11:57                   ` Stefano Stabellini
2016-01-11  1:46                   ` [Qemu-devel] " Hao, Xudong
2016-01-11  1:46                     ` Hao, Xudong
2016-01-11  9:53                   ` [Qemu-devel] " Hao, Xudong
2016-01-11  9:53                     ` Hao, Xudong
2016-01-11 10:32                     ` [Qemu-devel] " Gerd Hoffmann
2016-01-11 10:32                       ` Gerd Hoffmann
2016-01-12  8:41                       ` [Qemu-devel] " Hao, Xudong
2016-01-12  8:41                         ` Hao, Xudong
2016-01-12  8:47                         ` [Qemu-devel] " Michael S. Tsirkin
2016-01-12  8:47                           ` Michael S. Tsirkin
2016-01-12  9:50                           ` [Qemu-devel] " Hao, Xudong
2016-01-12  9:50                             ` Hao, Xudong
2016-01-12 10:24                             ` [Qemu-devel] " Gerd Hoffmann
2016-01-12 10:24                               ` Gerd Hoffmann
2016-01-13  1:55                               ` [Qemu-devel] " Hao, Xudong
2016-01-13  1:55                                 ` Hao, Xudong
2016-01-13  7:37                               ` [Qemu-devel] " Hao, Xudong
2016-01-13  7:37                                 ` Hao, Xudong
2016-01-11 10:46                     ` [Qemu-devel] " Stefano Stabellini
2016-01-11 10:46                       ` Stefano Stabellini
2016-01-11 11:01                       ` [Qemu-devel] " Michael S. Tsirkin
2016-01-11 11:01                         ` Michael S. Tsirkin
2016-01-12  9:54                       ` [Qemu-devel] " Hao, Xudong
2016-01-12  9:54                         ` Hao, Xudong
2016-01-12  2:01                     ` [Qemu-devel] " Cao jin
2016-01-12  2:01                       ` Cao jin
2016-01-12  2:24                       ` [Qemu-devel] " Hao, Xudong
2016-01-12  2:24                         ` Hao, Xudong
2016-01-07 13:28   ` [Qemu-devel] " Cao jin
2016-01-07 15:01     ` Stefano Stabellini
2016-01-07 16:21       ` Gerd Hoffmann
2016-01-07 17:42         ` Stefano Stabellini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.