Re: [Qemu-devel] [PATCH] Categorize devices

2019-03-27 Thread Ernest Esene
On Tue, Mar 26, 2019 at 03:49:04PM -0300, Eduardo Habkost wrote:
> On Tue, Mar 26, 2019 at 07:43:51PM +0100, Hervé Poussineau wrote:
> > Le 24/03/2019 à 19:05, Ernest Esene a écrit :
> > > Categorize devices in "uncategorised devices" section
> > > This patch is based on BiteSizedTask.
> > > 
> > > Signed-off-by: Ernest Esene 
> > > ---
> > >   hw/dma/i82374.c   | 2 ++
> > >   hw/i386/amd_iommu.c   | 2 ++
> > >   hw/i386/intel_iommu.c | 2 ++
> > >   hw/i386/pc_piix.c | 1 +
> > >   hw/ipmi/ipmi_bmc_extern.c | 2 ++
> > >   hw/ipmi/ipmi_bmc_sim.c| 2 ++
> > >   hw/ipmi/isa_ipmi_bt.c | 2 ++
> > >   hw/ipmi/isa_ipmi_kcs.c| 2 ++
> > >   hw/mem/nvdimm.c   | 1 +
> > >   hw/mem/pc-dimm.c  | 1 +
> > >   hw/tpm/tpm_tis.c  | 3 +++
> > >   11 files changed, 20 insertions(+)
> > 
> > 
> > i82374 part:
> > 
> > Reviewed-by: Hervé Poussineau 
> 
> Thanks!  I wonder if it would be useful to resubmit this as
> separate patches, so the parts that are already reviewed aren't
> blocked by missing reviews for the other devices.
> 
> -- 
> Eduardo
Thanks for the suggestion. I am going to resubmit as separate patches.

--
Ernest


signature.asc
Description: PGP signature


Re: [Qemu-devel] [PATCH] Categorize devices

2019-03-27 Thread Ernest Esene
On Mon, Mar 25, 2019 at 07:42:27PM -0500, Corey Minyard wrote:
> On Sun, Mar 24, 2019 at 07:05:23PM +0100, Ernest Esene wrote:
> > Categorize devices in "uncategorised devices" section
> > This patch is based on BiteSizedTask.
> > 
> > Signed-off-by: Ernest Esene 
> 
> I'm not 100% sure the use of this field.  A couple
> of comments on the IPMI one inline.
> 
> > ---
> >  hw/dma/i82374.c   | 2 ++
> >  hw/i386/amd_iommu.c   | 2 ++
> >  hw/i386/intel_iommu.c | 2 ++
> >  hw/i386/pc_piix.c | 1 +
> >  hw/ipmi/ipmi_bmc_extern.c | 2 ++
> >  hw/ipmi/ipmi_bmc_sim.c| 2 ++
> >  hw/ipmi/isa_ipmi_bt.c | 2 ++
> >  hw/ipmi/isa_ipmi_kcs.c| 2 ++
> >  hw/mem/nvdimm.c   | 1 +
> >  hw/mem/pc-dimm.c  | 1 +
> >  hw/tpm/tpm_tis.c  | 3 +++
> >  11 files changed, 20 insertions(+)
> > 
> > diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c
> > index bf0b7ee0..39049c4d 100644
> > --- a/hw/ipmi/ipmi_bmc_extern.c
> > +++ b/hw/ipmi/ipmi_bmc_extern.c
> > @@ -526,6 +526,8 @@ static void ipmi_bmc_extern_class_init(ObjectClass *oc, 
> > void *data)
> >  dc->hotpluggable = false;
> >  dc->realize = ipmi_bmc_extern_realize;
> >  dc->props = ipmi_bmc_extern_properties;
> > +set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
> > +dc->desc = "IPMI Baseboard management controller";
> 
> This is not exactly a bridge.  None of the categories seem
> to fit, though, a management device would be the best
> category, but that's not available.  misc is probably the
> best.
> 
> Also, the description might be betters a: "IPMI external
> baseboard management controller" to distinguish it from
> the next one...
> 
> >  }
> >  
> >  static const TypeInfo ipmi_bmc_extern_type = {
> > diff --git a/hw/ipmi/ipmi_bmc_sim.c b/hw/ipmi/ipmi_bmc_sim.c
> > index 9b509f82..95a096fa 100644
> > --- a/hw/ipmi/ipmi_bmc_sim.c
> > +++ b/hw/ipmi/ipmi_bmc_sim.c
> > @@ -2016,6 +2016,8 @@ static void ipmi_sim_class_init(ObjectClass *oc, void 
> > *data)
> >  dc->realize = ipmi_sim_realize;
> >  dc->props = ipmi_sim_properties;
> >  bk->handle_command = ipmi_sim_handle_command;
> > +set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
> > +dc->desc = "IPMI Baseboard management controller";
> 
> This is definitely not a bridge, same basic comment as above,
> but this is an internal simulator of the device.  For the
> description, perhaps: "IPMI simulated baseboard management
> controller"
> 
> >  }
> >  
> >  static const TypeInfo ipmi_sim_type = {
> > diff --git a/hw/ipmi/isa_ipmi_bt.c b/hw/ipmi/isa_ipmi_bt.c
> > index 8bbb1fa7..9ca3402e 100644
> > --- a/hw/ipmi/isa_ipmi_bt.c
> > +++ b/hw/ipmi/isa_ipmi_bt.c
> > @@ -541,6 +541,8 @@ static void isa_ipmi_bt_class_init(ObjectClass *oc, 
> > void *data)
> >  
> >  dc->realize = isa_ipmi_bt_realize;
> >  dc->props = ipmi_isa_properties;
> > +set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
> > +dc->desc = "ISA IPMI BT System Interface";
> 
> I'm ok with these being bridges, that seem accurate, and the
> description looks good.  Same for KCS below.
> 
> Thanks,
> 
> -corey
> 
Thank you corey.

Ernest


signature.asc
Description: PGP signature


Re: [Qemu-devel] [PATCH] Categorize devices

2019-03-26 Thread Philippe Mathieu-Daudé
Le mar. 26 mars 2019 20:10, Eduardo Habkost  a écrit :

> On Tue, Mar 26, 2019 at 07:43:51PM +0100, Hervé Poussineau wrote:
> > Le 24/03/2019 à 19:05, Ernest Esene a écrit :
> > > Categorize devices in "uncategorised devices" section
> > > This patch is based on BiteSizedTask.
> > >
> > > Signed-off-by: Ernest Esene 
> > > ---
> > >   hw/dma/i82374.c   | 2 ++
> > >   hw/i386/amd_iommu.c   | 2 ++
> > >   hw/i386/intel_iommu.c | 2 ++
> > >   hw/i386/pc_piix.c | 1 +
> > >   hw/ipmi/ipmi_bmc_extern.c | 2 ++
> > >   hw/ipmi/ipmi_bmc_sim.c| 2 ++
> > >   hw/ipmi/isa_ipmi_bt.c | 2 ++
> > >   hw/ipmi/isa_ipmi_kcs.c| 2 ++
> > >   hw/mem/nvdimm.c   | 1 +
> > >   hw/mem/pc-dimm.c  | 1 +
> > >   hw/tpm/tpm_tis.c  | 3 +++
> > >   11 files changed, 20 insertions(+)
> >
> >
> > i82374 part:
> >
> > Reviewed-by: Hervé Poussineau 
>
> Thanks!  I wonder if it would be useful to resubmit this as
> separate patches, so the parts that are already reviewed aren't
> blocked by missing reviews for the other devices.
>

Good idea, I prefer that too.


> --
> Eduardo
>
>


Re: [Qemu-devel] [PATCH] Categorize devices

2019-03-26 Thread Eduardo Habkost
On Tue, Mar 26, 2019 at 07:43:51PM +0100, Hervé Poussineau wrote:
> Le 24/03/2019 à 19:05, Ernest Esene a écrit :
> > Categorize devices in "uncategorised devices" section
> > This patch is based on BiteSizedTask.
> > 
> > Signed-off-by: Ernest Esene 
> > ---
> >   hw/dma/i82374.c   | 2 ++
> >   hw/i386/amd_iommu.c   | 2 ++
> >   hw/i386/intel_iommu.c | 2 ++
> >   hw/i386/pc_piix.c | 1 +
> >   hw/ipmi/ipmi_bmc_extern.c | 2 ++
> >   hw/ipmi/ipmi_bmc_sim.c| 2 ++
> >   hw/ipmi/isa_ipmi_bt.c | 2 ++
> >   hw/ipmi/isa_ipmi_kcs.c| 2 ++
> >   hw/mem/nvdimm.c   | 1 +
> >   hw/mem/pc-dimm.c  | 1 +
> >   hw/tpm/tpm_tis.c  | 3 +++
> >   11 files changed, 20 insertions(+)
> 
> 
> i82374 part:
> 
> Reviewed-by: Hervé Poussineau 

Thanks!  I wonder if it would be useful to resubmit this as
separate patches, so the parts that are already reviewed aren't
blocked by missing reviews for the other devices.

-- 
Eduardo



Re: [Qemu-devel] [PATCH] Categorize devices

2019-03-26 Thread Hervé Poussineau

Le 24/03/2019 à 19:05, Ernest Esene a écrit :

Categorize devices in "uncategorised devices" section
This patch is based on BiteSizedTask.

Signed-off-by: Ernest Esene 
---
  hw/dma/i82374.c   | 2 ++
  hw/i386/amd_iommu.c   | 2 ++
  hw/i386/intel_iommu.c | 2 ++
  hw/i386/pc_piix.c | 1 +
  hw/ipmi/ipmi_bmc_extern.c | 2 ++
  hw/ipmi/ipmi_bmc_sim.c| 2 ++
  hw/ipmi/isa_ipmi_bt.c | 2 ++
  hw/ipmi/isa_ipmi_kcs.c| 2 ++
  hw/mem/nvdimm.c   | 1 +
  hw/mem/pc-dimm.c  | 1 +
  hw/tpm/tpm_tis.c  | 3 +++
  11 files changed, 20 insertions(+)



i82374 part:

Reviewed-by: Hervé Poussineau 



diff --git a/hw/dma/i82374.c b/hw/dma/i82374.c
index 892f655a..5b42dd1b 100644
--- a/hw/dma/i82374.c
+++ b/hw/dma/i82374.c
@@ -147,6 +147,8 @@ static void i82374_class_init(ObjectClass *klass, void 
*data)
  dc->realize = i82374_realize;
  dc->vmsd = _i82374;
  dc->props = i82374_properties;
+dc->desc = "Intel Enhanced DMA controller";
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
  }
  
  static const TypeInfo i82374_info = {

diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c
index 6eabdf99..4a4e2c7f 100644
--- a/hw/i386/amd_iommu.c
+++ b/hw/i386/amd_iommu.c
@@ -1601,6 +1601,8 @@ static void amdvi_class_init(ObjectClass *klass, void* 
data)
  dc_class->int_remap = amdvi_int_remap;
  /* Supported by the pc-q35-* machine types */
  dc->user_creatable = true;
+set_bit(DEVICE_CATEGORY_MISC, dc->categories);
+dc->desc = "AMD IOMMU (AMD-Vi) DMA Remapping device";
  }
  
  static const TypeInfo amdvi = {

diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index b90de6c6..4d0e6042 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -3702,6 +3702,8 @@ static void vtd_class_init(ObjectClass *klass, void *data)
  x86_class->int_remap = vtd_int_remap;
  /* Supported by the pc-q35-* machine types */
  dc->user_creatable = true;
+set_bit(DEVICE_CATEGORY_MISC, dc->categories);
+dc->desc = "Intel IOMMU (VT-d) DMA Remapping device";
  }
  
  static const TypeInfo vtd_info = {

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 8ad8e885..03a9cb8a 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -911,6 +911,7 @@ static void isa_bridge_class_init(ObjectClass *klass, void 
*data)
  PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
  
  dc->desc= "ISA bridge faked to support IGD PT";

+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
  k->vendor_id= PCI_VENDOR_ID_INTEL;
  k->class_id = PCI_CLASS_BRIDGE_ISA;
  };
diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c
index bf0b7ee0..39049c4d 100644
--- a/hw/ipmi/ipmi_bmc_extern.c
+++ b/hw/ipmi/ipmi_bmc_extern.c
@@ -526,6 +526,8 @@ static void ipmi_bmc_extern_class_init(ObjectClass *oc, 
void *data)
  dc->hotpluggable = false;
  dc->realize = ipmi_bmc_extern_realize;
  dc->props = ipmi_bmc_extern_properties;
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
+dc->desc = "IPMI Baseboard management controller";
  }
  
  static const TypeInfo ipmi_bmc_extern_type = {

diff --git a/hw/ipmi/ipmi_bmc_sim.c b/hw/ipmi/ipmi_bmc_sim.c
index 9b509f82..95a096fa 100644
--- a/hw/ipmi/ipmi_bmc_sim.c
+++ b/hw/ipmi/ipmi_bmc_sim.c
@@ -2016,6 +2016,8 @@ static void ipmi_sim_class_init(ObjectClass *oc, void 
*data)
  dc->realize = ipmi_sim_realize;
  dc->props = ipmi_sim_properties;
  bk->handle_command = ipmi_sim_handle_command;
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
+dc->desc = "IPMI Baseboard management controller";
  }
  
  static const TypeInfo ipmi_sim_type = {

diff --git a/hw/ipmi/isa_ipmi_bt.c b/hw/ipmi/isa_ipmi_bt.c
index 8bbb1fa7..9ca3402e 100644
--- a/hw/ipmi/isa_ipmi_bt.c
+++ b/hw/ipmi/isa_ipmi_bt.c
@@ -541,6 +541,8 @@ static void isa_ipmi_bt_class_init(ObjectClass *oc, void 
*data)
  
  dc->realize = isa_ipmi_bt_realize;

  dc->props = ipmi_isa_properties;
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
+dc->desc = "ISA IPMI BT System Interface";
  
  iic->get_backend_data = isa_ipmi_bt_get_backend_data;

  ipmi_bt_class_init(iic);
diff --git a/hw/ipmi/isa_ipmi_kcs.c b/hw/ipmi/isa_ipmi_kcs.c
index a7943155..818d59d1 100644
--- a/hw/ipmi/isa_ipmi_kcs.c
+++ b/hw/ipmi/isa_ipmi_kcs.c
@@ -524,6 +524,8 @@ static void isa_ipmi_kcs_class_init(ObjectClass *oc, void 
*data)
  
  dc->realize = ipmi_isa_realize;

  dc->props = ipmi_isa_properties;
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
+dc->desc = "ISA IPMI KCS System Interface";
  
  iic->get_backend_data = isa_ipmi_kcs_get_backend_data;

  ipmi_kcs_class_init(iic);
diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c
index bf2adf5e..a334dbe1 100644
--- a/hw/mem/nvdimm.c
+++ b/hw/mem/nvdimm.c
@@ -200,6 +200,7 @@ static void nvdimm_class_init(ObjectClass *oc, void *data)
  ddc->realize = nvdimm_realize;
  mdc->get_memory_region = 

Re: [Qemu-devel] [PATCH] Categorize devices

2019-03-26 Thread Stefan Berger

On 3/24/19 2:05 PM, Ernest Esene wrote:

Categorize devices in "uncategorised devices" section
This patch is based on BiteSizedTask.

Signed-off-by: Ernest Esene 


TPM part:

Reviewed-by: Stefan Berger 


---
  hw/dma/i82374.c   | 2 ++
  hw/i386/amd_iommu.c   | 2 ++
  hw/i386/intel_iommu.c | 2 ++
  hw/i386/pc_piix.c | 1 +
  hw/ipmi/ipmi_bmc_extern.c | 2 ++
  hw/ipmi/ipmi_bmc_sim.c| 2 ++
  hw/ipmi/isa_ipmi_bt.c | 2 ++
  hw/ipmi/isa_ipmi_kcs.c| 2 ++
  hw/mem/nvdimm.c   | 1 +
  hw/mem/pc-dimm.c  | 1 +
  hw/tpm/tpm_tis.c  | 3 +++
  11 files changed, 20 insertions(+)

diff --git a/hw/dma/i82374.c b/hw/dma/i82374.c
index 892f655a..5b42dd1b 100644
--- a/hw/dma/i82374.c
+++ b/hw/dma/i82374.c
@@ -147,6 +147,8 @@ static void i82374_class_init(ObjectClass *klass, void 
*data)
  dc->realize = i82374_realize;
  dc->vmsd = _i82374;
  dc->props = i82374_properties;
+dc->desc = "Intel Enhanced DMA controller";
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
  }
  
  static const TypeInfo i82374_info = {

diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c
index 6eabdf99..4a4e2c7f 100644
--- a/hw/i386/amd_iommu.c
+++ b/hw/i386/amd_iommu.c
@@ -1601,6 +1601,8 @@ static void amdvi_class_init(ObjectClass *klass, void* 
data)
  dc_class->int_remap = amdvi_int_remap;
  /* Supported by the pc-q35-* machine types */
  dc->user_creatable = true;
+set_bit(DEVICE_CATEGORY_MISC, dc->categories);
+dc->desc = "AMD IOMMU (AMD-Vi) DMA Remapping device";
  }
  
  static const TypeInfo amdvi = {

diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index b90de6c6..4d0e6042 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -3702,6 +3702,8 @@ static void vtd_class_init(ObjectClass *klass, void *data)
  x86_class->int_remap = vtd_int_remap;
  /* Supported by the pc-q35-* machine types */
  dc->user_creatable = true;
+set_bit(DEVICE_CATEGORY_MISC, dc->categories);
+dc->desc = "Intel IOMMU (VT-d) DMA Remapping device";
  }
  
  static const TypeInfo vtd_info = {

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 8ad8e885..03a9cb8a 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -911,6 +911,7 @@ static void isa_bridge_class_init(ObjectClass *klass, void 
*data)
  PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
  
  dc->desc= "ISA bridge faked to support IGD PT";

+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
  k->vendor_id= PCI_VENDOR_ID_INTEL;
  k->class_id = PCI_CLASS_BRIDGE_ISA;
  };
diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c
index bf0b7ee0..39049c4d 100644
--- a/hw/ipmi/ipmi_bmc_extern.c
+++ b/hw/ipmi/ipmi_bmc_extern.c
@@ -526,6 +526,8 @@ static void ipmi_bmc_extern_class_init(ObjectClass *oc, 
void *data)
  dc->hotpluggable = false;
  dc->realize = ipmi_bmc_extern_realize;
  dc->props = ipmi_bmc_extern_properties;
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
+dc->desc = "IPMI Baseboard management controller";
  }
  
  static const TypeInfo ipmi_bmc_extern_type = {

diff --git a/hw/ipmi/ipmi_bmc_sim.c b/hw/ipmi/ipmi_bmc_sim.c
index 9b509f82..95a096fa 100644
--- a/hw/ipmi/ipmi_bmc_sim.c
+++ b/hw/ipmi/ipmi_bmc_sim.c
@@ -2016,6 +2016,8 @@ static void ipmi_sim_class_init(ObjectClass *oc, void 
*data)
  dc->realize = ipmi_sim_realize;
  dc->props = ipmi_sim_properties;
  bk->handle_command = ipmi_sim_handle_command;
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
+dc->desc = "IPMI Baseboard management controller";
  }
  
  static const TypeInfo ipmi_sim_type = {

diff --git a/hw/ipmi/isa_ipmi_bt.c b/hw/ipmi/isa_ipmi_bt.c
index 8bbb1fa7..9ca3402e 100644
--- a/hw/ipmi/isa_ipmi_bt.c
+++ b/hw/ipmi/isa_ipmi_bt.c
@@ -541,6 +541,8 @@ static void isa_ipmi_bt_class_init(ObjectClass *oc, void 
*data)
  
  dc->realize = isa_ipmi_bt_realize;

  dc->props = ipmi_isa_properties;
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
+dc->desc = "ISA IPMI BT System Interface";
  
  iic->get_backend_data = isa_ipmi_bt_get_backend_data;

  ipmi_bt_class_init(iic);
diff --git a/hw/ipmi/isa_ipmi_kcs.c b/hw/ipmi/isa_ipmi_kcs.c
index a7943155..818d59d1 100644
--- a/hw/ipmi/isa_ipmi_kcs.c
+++ b/hw/ipmi/isa_ipmi_kcs.c
@@ -524,6 +524,8 @@ static void isa_ipmi_kcs_class_init(ObjectClass *oc, void 
*data)
  
  dc->realize = ipmi_isa_realize;

  dc->props = ipmi_isa_properties;
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
+dc->desc = "ISA IPMI KCS System Interface";
  
  iic->get_backend_data = isa_ipmi_kcs_get_backend_data;

  ipmi_kcs_class_init(iic);
diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c
index bf2adf5e..a334dbe1 100644
--- a/hw/mem/nvdimm.c
+++ b/hw/mem/nvdimm.c
@@ -200,6 +200,7 @@ static void nvdimm_class_init(ObjectClass *oc, void *data)
  ddc->realize = nvdimm_realize;
  mdc->get_memory_region = nvdimm_md_get_memory_region;
  

Re: [Qemu-devel] [PATCH] Categorize devices

2019-03-25 Thread Corey Minyard
On Sun, Mar 24, 2019 at 07:05:23PM +0100, Ernest Esene wrote:
> Categorize devices in "uncategorised devices" section
> This patch is based on BiteSizedTask.
> 
> Signed-off-by: Ernest Esene 

I'm not 100% sure the use of this field.  A couple
of comments on the IPMI one inline.

> ---
>  hw/dma/i82374.c   | 2 ++
>  hw/i386/amd_iommu.c   | 2 ++
>  hw/i386/intel_iommu.c | 2 ++
>  hw/i386/pc_piix.c | 1 +
>  hw/ipmi/ipmi_bmc_extern.c | 2 ++
>  hw/ipmi/ipmi_bmc_sim.c| 2 ++
>  hw/ipmi/isa_ipmi_bt.c | 2 ++
>  hw/ipmi/isa_ipmi_kcs.c| 2 ++
>  hw/mem/nvdimm.c   | 1 +
>  hw/mem/pc-dimm.c  | 1 +
>  hw/tpm/tpm_tis.c  | 3 +++
>  11 files changed, 20 insertions(+)
> 
> diff --git a/hw/dma/i82374.c b/hw/dma/i82374.c
> index 892f655a..5b42dd1b 100644
> --- a/hw/dma/i82374.c
> +++ b/hw/dma/i82374.c
> @@ -147,6 +147,8 @@ static void i82374_class_init(ObjectClass *klass, void 
> *data)
>  dc->realize = i82374_realize;
>  dc->vmsd = _i82374;
>  dc->props = i82374_properties;
> +dc->desc = "Intel Enhanced DMA controller";
> +set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
>  }
>  
>  static const TypeInfo i82374_info = {
> diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c
> index 6eabdf99..4a4e2c7f 100644
> --- a/hw/i386/amd_iommu.c
> +++ b/hw/i386/amd_iommu.c
> @@ -1601,6 +1601,8 @@ static void amdvi_class_init(ObjectClass *klass, void* 
> data)
>  dc_class->int_remap = amdvi_int_remap;
>  /* Supported by the pc-q35-* machine types */
>  dc->user_creatable = true;
> +set_bit(DEVICE_CATEGORY_MISC, dc->categories);
> +dc->desc = "AMD IOMMU (AMD-Vi) DMA Remapping device";
>  }
>  
>  static const TypeInfo amdvi = {
> diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
> index b90de6c6..4d0e6042 100644
> --- a/hw/i386/intel_iommu.c
> +++ b/hw/i386/intel_iommu.c
> @@ -3702,6 +3702,8 @@ static void vtd_class_init(ObjectClass *klass, void 
> *data)
>  x86_class->int_remap = vtd_int_remap;
>  /* Supported by the pc-q35-* machine types */
>  dc->user_creatable = true;
> +set_bit(DEVICE_CATEGORY_MISC, dc->categories);
> +dc->desc = "Intel IOMMU (VT-d) DMA Remapping device";
>  }
>  
>  static const TypeInfo vtd_info = {
> diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
> index 8ad8e885..03a9cb8a 100644
> --- a/hw/i386/pc_piix.c
> +++ b/hw/i386/pc_piix.c
> @@ -911,6 +911,7 @@ static void isa_bridge_class_init(ObjectClass *klass, 
> void *data)
>  PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
>  
>  dc->desc= "ISA bridge faked to support IGD PT";
> +set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
>  k->vendor_id= PCI_VENDOR_ID_INTEL;
>  k->class_id = PCI_CLASS_BRIDGE_ISA;
>  };
> diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c
> index bf0b7ee0..39049c4d 100644
> --- a/hw/ipmi/ipmi_bmc_extern.c
> +++ b/hw/ipmi/ipmi_bmc_extern.c
> @@ -526,6 +526,8 @@ static void ipmi_bmc_extern_class_init(ObjectClass *oc, 
> void *data)
>  dc->hotpluggable = false;
>  dc->realize = ipmi_bmc_extern_realize;
>  dc->props = ipmi_bmc_extern_properties;
> +set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
> +dc->desc = "IPMI Baseboard management controller";

This is not exactly a bridge.  None of the categories seem
to fit, though, a management device would be the best
category, but that's not available.  misc is probably the
best.

Also, the description might be betters a: "IPMI external
baseboard management controller" to distinguish it from
the next one...

>  }
>  
>  static const TypeInfo ipmi_bmc_extern_type = {
> diff --git a/hw/ipmi/ipmi_bmc_sim.c b/hw/ipmi/ipmi_bmc_sim.c
> index 9b509f82..95a096fa 100644
> --- a/hw/ipmi/ipmi_bmc_sim.c
> +++ b/hw/ipmi/ipmi_bmc_sim.c
> @@ -2016,6 +2016,8 @@ static void ipmi_sim_class_init(ObjectClass *oc, void 
> *data)
>  dc->realize = ipmi_sim_realize;
>  dc->props = ipmi_sim_properties;
>  bk->handle_command = ipmi_sim_handle_command;
> +set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
> +dc->desc = "IPMI Baseboard management controller";

This is definitely not a bridge, same basic comment as above,
but this is an internal simulator of the device.  For the
description, perhaps: "IPMI simulated baseboard management
controller"

>  }
>  
>  static const TypeInfo ipmi_sim_type = {
> diff --git a/hw/ipmi/isa_ipmi_bt.c b/hw/ipmi/isa_ipmi_bt.c
> index 8bbb1fa7..9ca3402e 100644
> --- a/hw/ipmi/isa_ipmi_bt.c
> +++ b/hw/ipmi/isa_ipmi_bt.c
> @@ -541,6 +541,8 @@ static void isa_ipmi_bt_class_init(ObjectClass *oc, void 
> *data)
>  
>  dc->realize = isa_ipmi_bt_realize;
>  dc->props = ipmi_isa_properties;
> +set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
> +dc->desc = "ISA IPMI BT System Interface";

I'm ok with these being bridges, that seem accurate, and the
description looks good.  Same for KCS below.

Thanks,

-corey

>  
>  iic->get_backend_data = 

[Qemu-devel] [PATCH] Categorize devices

2019-03-24 Thread Ernest Esene
Categorize devices in "uncategorised devices" section
This patch is based on BiteSizedTask.

Signed-off-by: Ernest Esene 
---
 hw/dma/i82374.c   | 2 ++
 hw/i386/amd_iommu.c   | 2 ++
 hw/i386/intel_iommu.c | 2 ++
 hw/i386/pc_piix.c | 1 +
 hw/ipmi/ipmi_bmc_extern.c | 2 ++
 hw/ipmi/ipmi_bmc_sim.c| 2 ++
 hw/ipmi/isa_ipmi_bt.c | 2 ++
 hw/ipmi/isa_ipmi_kcs.c| 2 ++
 hw/mem/nvdimm.c   | 1 +
 hw/mem/pc-dimm.c  | 1 +
 hw/tpm/tpm_tis.c  | 3 +++
 11 files changed, 20 insertions(+)

diff --git a/hw/dma/i82374.c b/hw/dma/i82374.c
index 892f655a..5b42dd1b 100644
--- a/hw/dma/i82374.c
+++ b/hw/dma/i82374.c
@@ -147,6 +147,8 @@ static void i82374_class_init(ObjectClass *klass, void 
*data)
 dc->realize = i82374_realize;
 dc->vmsd = _i82374;
 dc->props = i82374_properties;
+dc->desc = "Intel Enhanced DMA controller";
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
 }
 
 static const TypeInfo i82374_info = {
diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c
index 6eabdf99..4a4e2c7f 100644
--- a/hw/i386/amd_iommu.c
+++ b/hw/i386/amd_iommu.c
@@ -1601,6 +1601,8 @@ static void amdvi_class_init(ObjectClass *klass, void* 
data)
 dc_class->int_remap = amdvi_int_remap;
 /* Supported by the pc-q35-* machine types */
 dc->user_creatable = true;
+set_bit(DEVICE_CATEGORY_MISC, dc->categories);
+dc->desc = "AMD IOMMU (AMD-Vi) DMA Remapping device";
 }
 
 static const TypeInfo amdvi = {
diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index b90de6c6..4d0e6042 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -3702,6 +3702,8 @@ static void vtd_class_init(ObjectClass *klass, void *data)
 x86_class->int_remap = vtd_int_remap;
 /* Supported by the pc-q35-* machine types */
 dc->user_creatable = true;
+set_bit(DEVICE_CATEGORY_MISC, dc->categories);
+dc->desc = "Intel IOMMU (VT-d) DMA Remapping device";
 }
 
 static const TypeInfo vtd_info = {
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 8ad8e885..03a9cb8a 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -911,6 +911,7 @@ static void isa_bridge_class_init(ObjectClass *klass, void 
*data)
 PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
 
 dc->desc= "ISA bridge faked to support IGD PT";
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
 k->vendor_id= PCI_VENDOR_ID_INTEL;
 k->class_id = PCI_CLASS_BRIDGE_ISA;
 };
diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c
index bf0b7ee0..39049c4d 100644
--- a/hw/ipmi/ipmi_bmc_extern.c
+++ b/hw/ipmi/ipmi_bmc_extern.c
@@ -526,6 +526,8 @@ static void ipmi_bmc_extern_class_init(ObjectClass *oc, 
void *data)
 dc->hotpluggable = false;
 dc->realize = ipmi_bmc_extern_realize;
 dc->props = ipmi_bmc_extern_properties;
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
+dc->desc = "IPMI Baseboard management controller";
 }
 
 static const TypeInfo ipmi_bmc_extern_type = {
diff --git a/hw/ipmi/ipmi_bmc_sim.c b/hw/ipmi/ipmi_bmc_sim.c
index 9b509f82..95a096fa 100644
--- a/hw/ipmi/ipmi_bmc_sim.c
+++ b/hw/ipmi/ipmi_bmc_sim.c
@@ -2016,6 +2016,8 @@ static void ipmi_sim_class_init(ObjectClass *oc, void 
*data)
 dc->realize = ipmi_sim_realize;
 dc->props = ipmi_sim_properties;
 bk->handle_command = ipmi_sim_handle_command;
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
+dc->desc = "IPMI Baseboard management controller";
 }
 
 static const TypeInfo ipmi_sim_type = {
diff --git a/hw/ipmi/isa_ipmi_bt.c b/hw/ipmi/isa_ipmi_bt.c
index 8bbb1fa7..9ca3402e 100644
--- a/hw/ipmi/isa_ipmi_bt.c
+++ b/hw/ipmi/isa_ipmi_bt.c
@@ -541,6 +541,8 @@ static void isa_ipmi_bt_class_init(ObjectClass *oc, void 
*data)
 
 dc->realize = isa_ipmi_bt_realize;
 dc->props = ipmi_isa_properties;
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
+dc->desc = "ISA IPMI BT System Interface";
 
 iic->get_backend_data = isa_ipmi_bt_get_backend_data;
 ipmi_bt_class_init(iic);
diff --git a/hw/ipmi/isa_ipmi_kcs.c b/hw/ipmi/isa_ipmi_kcs.c
index a7943155..818d59d1 100644
--- a/hw/ipmi/isa_ipmi_kcs.c
+++ b/hw/ipmi/isa_ipmi_kcs.c
@@ -524,6 +524,8 @@ static void isa_ipmi_kcs_class_init(ObjectClass *oc, void 
*data)
 
 dc->realize = ipmi_isa_realize;
 dc->props = ipmi_isa_properties;
+set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);
+dc->desc = "ISA IPMI KCS System Interface";
 
 iic->get_backend_data = isa_ipmi_kcs_get_backend_data;
 ipmi_kcs_class_init(iic);
diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c
index bf2adf5e..a334dbe1 100644
--- a/hw/mem/nvdimm.c
+++ b/hw/mem/nvdimm.c
@@ -200,6 +200,7 @@ static void nvdimm_class_init(ObjectClass *oc, void *data)
 ddc->realize = nvdimm_realize;
 mdc->get_memory_region = nvdimm_md_get_memory_region;
 dc->props = nvdimm_properties;
+dc->desc = "NVDIMM memory module";
 
 nvc->read_label_data = nvdimm_read_label_data;
 nvc->write_label_data =