Re: [Qemu-devel] [PATCH V3 02/10] intel_iommu: name vtd address space with devfn

2016-12-30 Thread Jason Wang



On 2016年12月30日 17:22, Peter Xu wrote:

On Fri, Dec 30, 2016 at 04:19:31PM +0800, Jason Wang wrote:


On 2016年12月16日 11:53, Jason Wang wrote:


On 2016年12月16日 10:53, Peter Xu wrote:

On Mon, Nov 07, 2016 at 03:09:47PM +0800, Jason Wang wrote:

To avoid duplicated name and ease debugging.

Cc: Michael S. Tsirkin 
Cc: Paolo Bonzini 
Cc: Richard Henderson 
Cc: Eduardo Habkost 
Acked-by: Peter Xu 
Signed-off-by: Jason Wang 
---
  hw/i386/intel_iommu.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index 1655a65..5272c30 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -2323,6 +2323,7 @@ VTDAddressSpace *vtd_find_add_as(IntelIOMMUState
*s, PCIBus *bus, int devfn)
  uintptr_t key = (uintptr_t)bus;
  VTDBus *vtd_bus = g_hash_table_lookup(s->vtd_as_by_busptr, );
  VTDAddressSpace *vtd_dev_as;
+char name[128];
if (!vtd_bus) {
  /* No corresponding free() */
@@ -2336,6 +2337,7 @@ VTDAddressSpace *vtd_find_add_as(IntelIOMMUState
*s, PCIBus *bus, int devfn)
  vtd_dev_as = vtd_bus->dev_as[devfn];
if (!vtd_dev_as) {
+snprintf(name, sizeof(name), "intel_iommu_devfn_%d", devfn);

Better with bus number as well? ;)

Like: "%02x:%02x.%x" for (bus, dev, fn).

Thanks,

-- peterx

Yes, will do it in next version.

Thanks


Actually, I choose not to bother since bus and fn number needs more codes to
get.

Should this work?

 snprintf(name, sizeof(name), "intel_iommu_%02x:%02x.%x",
  pci_bus_num(bus), VTD_PCI_SLOT(devfn),
  VTD_PCI_FUNC(devfn));

Anyway, I am okay as well to keep it as it is. :)

-- peterx


This may work but I tend to keep it as is and make this on top :)

Thanks



Re: [Qemu-devel] [PATCH V3 02/10] intel_iommu: name vtd address space with devfn

2016-12-30 Thread Peter Xu
On Fri, Dec 30, 2016 at 04:19:31PM +0800, Jason Wang wrote:
> 
> 
> On 2016年12月16日 11:53, Jason Wang wrote:
> >
> >
> >On 2016年12月16日 10:53, Peter Xu wrote:
> >>On Mon, Nov 07, 2016 at 03:09:47PM +0800, Jason Wang wrote:
> >>>To avoid duplicated name and ease debugging.
> >>>
> >>>Cc: Michael S. Tsirkin 
> >>>Cc: Paolo Bonzini 
> >>>Cc: Richard Henderson 
> >>>Cc: Eduardo Habkost 
> >>>Acked-by: Peter Xu 
> >>>Signed-off-by: Jason Wang 
> >>>---
> >>>  hw/i386/intel_iommu.c | 4 +++-
> >>>  1 file changed, 3 insertions(+), 1 deletion(-)
> >>>
> >>>diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
> >>>index 1655a65..5272c30 100644
> >>>--- a/hw/i386/intel_iommu.c
> >>>+++ b/hw/i386/intel_iommu.c
> >>>@@ -2323,6 +2323,7 @@ VTDAddressSpace *vtd_find_add_as(IntelIOMMUState
> >>>*s, PCIBus *bus, int devfn)
> >>>  uintptr_t key = (uintptr_t)bus;
> >>>  VTDBus *vtd_bus = g_hash_table_lookup(s->vtd_as_by_busptr, );
> >>>  VTDAddressSpace *vtd_dev_as;
> >>>+char name[128];
> >>>if (!vtd_bus) {
> >>>  /* No corresponding free() */
> >>>@@ -2336,6 +2337,7 @@ VTDAddressSpace *vtd_find_add_as(IntelIOMMUState
> >>>*s, PCIBus *bus, int devfn)
> >>>  vtd_dev_as = vtd_bus->dev_as[devfn];
> >>>if (!vtd_dev_as) {
> >>>+snprintf(name, sizeof(name), "intel_iommu_devfn_%d", devfn);
> >>Better with bus number as well? ;)
> >>
> >>Like: "%02x:%02x.%x" for (bus, dev, fn).
> >>
> >>Thanks,
> >>
> >>-- peterx
> >
> >Yes, will do it in next version.
> >
> >Thanks
> >
> 
> Actually, I choose not to bother since bus and fn number needs more codes to
> get.

Should this work?

snprintf(name, sizeof(name), "intel_iommu_%02x:%02x.%x",
 pci_bus_num(bus), VTD_PCI_SLOT(devfn),
 VTD_PCI_FUNC(devfn));

Anyway, I am okay as well to keep it as it is. :)

-- peterx



Re: [Qemu-devel] [PATCH V3 02/10] intel_iommu: name vtd address space with devfn

2016-12-30 Thread Jason Wang



On 2016年12月16日 11:53, Jason Wang wrote:



On 2016年12月16日 10:53, Peter Xu wrote:

On Mon, Nov 07, 2016 at 03:09:47PM +0800, Jason Wang wrote:

To avoid duplicated name and ease debugging.

Cc: Michael S. Tsirkin 
Cc: Paolo Bonzini 
Cc: Richard Henderson 
Cc: Eduardo Habkost 
Acked-by: Peter Xu 
Signed-off-by: Jason Wang 
---
  hw/i386/intel_iommu.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index 1655a65..5272c30 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -2323,6 +2323,7 @@ VTDAddressSpace 
*vtd_find_add_as(IntelIOMMUState *s, PCIBus *bus, int devfn)

  uintptr_t key = (uintptr_t)bus;
  VTDBus *vtd_bus = g_hash_table_lookup(s->vtd_as_by_busptr, );
  VTDAddressSpace *vtd_dev_as;
+char name[128];
if (!vtd_bus) {
  /* No corresponding free() */
@@ -2336,6 +2337,7 @@ VTDAddressSpace 
*vtd_find_add_as(IntelIOMMUState *s, PCIBus *bus, int devfn)

  vtd_dev_as = vtd_bus->dev_as[devfn];
if (!vtd_dev_as) {
+snprintf(name, sizeof(name), "intel_iommu_devfn_%d", devfn);

Better with bus number as well? ;)

Like: "%02x:%02x.%x" for (bus, dev, fn).

Thanks,

-- peterx


Yes, will do it in next version.

Thanks



Actually, I choose not to bother since bus and fn number needs more 
codes to get.


Thanks




Re: [Qemu-devel] [PATCH V3 02/10] intel_iommu: name vtd address space with devfn

2016-12-15 Thread Jason Wang



On 2016年12月16日 10:53, Peter Xu wrote:

On Mon, Nov 07, 2016 at 03:09:47PM +0800, Jason Wang wrote:

To avoid duplicated name and ease debugging.

Cc: Michael S. Tsirkin 
Cc: Paolo Bonzini 
Cc: Richard Henderson 
Cc: Eduardo Habkost 
Acked-by: Peter Xu 
Signed-off-by: Jason Wang 
---
  hw/i386/intel_iommu.c | 4 +++-
  1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index 1655a65..5272c30 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -2323,6 +2323,7 @@ VTDAddressSpace *vtd_find_add_as(IntelIOMMUState *s, 
PCIBus *bus, int devfn)
  uintptr_t key = (uintptr_t)bus;
  VTDBus *vtd_bus = g_hash_table_lookup(s->vtd_as_by_busptr, );
  VTDAddressSpace *vtd_dev_as;
+char name[128];
  
  if (!vtd_bus) {

  /* No corresponding free() */
@@ -2336,6 +2337,7 @@ VTDAddressSpace *vtd_find_add_as(IntelIOMMUState *s, 
PCIBus *bus, int devfn)
  vtd_dev_as = vtd_bus->dev_as[devfn];
  
  if (!vtd_dev_as) {

+snprintf(name, sizeof(name), "intel_iommu_devfn_%d", devfn);

Better with bus number as well? ;)

Like: "%02x:%02x.%x" for (bus, dev, fn).

Thanks,

-- peterx


Yes, will do it in next version.

Thanks



Re: [Qemu-devel] [PATCH V3 02/10] intel_iommu: name vtd address space with devfn

2016-12-15 Thread Peter Xu
On Mon, Nov 07, 2016 at 03:09:47PM +0800, Jason Wang wrote:
> To avoid duplicated name and ease debugging.
> 
> Cc: Michael S. Tsirkin 
> Cc: Paolo Bonzini 
> Cc: Richard Henderson 
> Cc: Eduardo Habkost 
> Acked-by: Peter Xu 
> Signed-off-by: Jason Wang 
> ---
>  hw/i386/intel_iommu.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
> index 1655a65..5272c30 100644
> --- a/hw/i386/intel_iommu.c
> +++ b/hw/i386/intel_iommu.c
> @@ -2323,6 +2323,7 @@ VTDAddressSpace *vtd_find_add_as(IntelIOMMUState *s, 
> PCIBus *bus, int devfn)
>  uintptr_t key = (uintptr_t)bus;
>  VTDBus *vtd_bus = g_hash_table_lookup(s->vtd_as_by_busptr, );
>  VTDAddressSpace *vtd_dev_as;
> +char name[128];
>  
>  if (!vtd_bus) {
>  /* No corresponding free() */
> @@ -2336,6 +2337,7 @@ VTDAddressSpace *vtd_find_add_as(IntelIOMMUState *s, 
> PCIBus *bus, int devfn)
>  vtd_dev_as = vtd_bus->dev_as[devfn];
>  
>  if (!vtd_dev_as) {
> +snprintf(name, sizeof(name), "intel_iommu_devfn_%d", devfn);

Better with bus number as well? ;)

Like: "%02x:%02x.%x" for (bus, dev, fn).

Thanks,

-- peterx



[Qemu-devel] [PATCH V3 02/10] intel_iommu: name vtd address space with devfn

2016-11-06 Thread Jason Wang
To avoid duplicated name and ease debugging.

Cc: Michael S. Tsirkin 
Cc: Paolo Bonzini 
Cc: Richard Henderson 
Cc: Eduardo Habkost 
Acked-by: Peter Xu 
Signed-off-by: Jason Wang 
---
 hw/i386/intel_iommu.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index 1655a65..5272c30 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -2323,6 +2323,7 @@ VTDAddressSpace *vtd_find_add_as(IntelIOMMUState *s, 
PCIBus *bus, int devfn)
 uintptr_t key = (uintptr_t)bus;
 VTDBus *vtd_bus = g_hash_table_lookup(s->vtd_as_by_busptr, );
 VTDAddressSpace *vtd_dev_as;
+char name[128];
 
 if (!vtd_bus) {
 /* No corresponding free() */
@@ -2336,6 +2337,7 @@ VTDAddressSpace *vtd_find_add_as(IntelIOMMUState *s, 
PCIBus *bus, int devfn)
 vtd_dev_as = vtd_bus->dev_as[devfn];
 
 if (!vtd_dev_as) {
+snprintf(name, sizeof(name), "intel_iommu_devfn_%d", devfn);
 vtd_bus->dev_as[devfn] = vtd_dev_as = 
g_malloc0(sizeof(VTDAddressSpace));
 
 vtd_dev_as->bus = bus;
@@ -2350,7 +2352,7 @@ VTDAddressSpace *vtd_find_add_as(IntelIOMMUState *s, 
PCIBus *bus, int devfn)
 memory_region_add_subregion(_dev_as->iommu, 
VTD_INTERRUPT_ADDR_FIRST,
 _dev_as->iommu_ir);
 address_space_init(_dev_as->as,
-   _dev_as->iommu, "intel_iommu");
+   _dev_as->iommu, name);
 }
 return vtd_dev_as;
 }
-- 
2.7.4