diff mbox series

Categorize devices

Message ID 20190324180523.GA23979@erokenlabserver
State New
Headers show
Series Categorize devices | expand

Commit Message

Ernest Esene March 24, 2019, 6:05 p.m. UTC
Categorize devices in "uncategorised devices" section
This patch is based on BiteSizedTask.

Signed-off-by: Ernest Esene <eroken1@gmail.com>
---
 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(+)

Comments

Corey Minyard March 26, 2019, 12:42 a.m. UTC | #1
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 <eroken1@gmail.com>

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 = &vmstate_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 = 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 = nvdimm_write_label_data;
> diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
> index 152400b1..19b9c0f4 100644
> --- a/hw/mem/pc-dimm.c
> +++ b/hw/mem/pc-dimm.c
> @@ -259,6 +259,7 @@ static void pc_dimm_class_init(ObjectClass *oc, void *data)
>      dc->unrealize = pc_dimm_unrealize;
>      dc->props = pc_dimm_properties;
>      dc->desc = "DIMM memory module";
> +    set_bit(DEVICE_CATEGORY_MISC, dc->categories);
>  
>      ddc->get_vmstate_memory_region = pc_dimm_get_memory_region;
>  
> diff --git a/hw/tpm/tpm_tis.c b/hw/tpm/tpm_tis.c
> index fd183e8d..36aaaa82 100644
> --- a/hw/tpm/tpm_tis.c
> +++ b/hw/tpm/tpm_tis.c
> @@ -1020,6 +1020,9 @@ static void tpm_tis_class_init(ObjectClass *klass, void *data)
>      dc->props = tpm_tis_properties;
>      dc->reset = tpm_tis_reset;
>      dc->vmsd  = &vmstate_tpm_tis;
> +    set_bit(DEVICE_CATEGORY_MISC, dc->categories);
> +    dc->desc = "Trusted Platform Module (TPM) TIS Interface";
> +
>      tc->model = TPM_MODEL_TPM_TIS;
>      tc->get_version = tpm_tis_get_tpm_version;
>      tc->request_completed = tpm_tis_request_completed;
> -- 
> 2.14.2
>
Stefan Berger March 26, 2019, 1:56 p.m. UTC | #2
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 <eroken1@gmail.com>

TPM part:

Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>

> ---
>   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 = &vmstate_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 = nvdimm_write_label_data;
> diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
> index 152400b1..19b9c0f4 100644
> --- a/hw/mem/pc-dimm.c
> +++ b/hw/mem/pc-dimm.c
> @@ -259,6 +259,7 @@ static void pc_dimm_class_init(ObjectClass *oc, void *data)
>       dc->unrealize = pc_dimm_unrealize;
>       dc->props = pc_dimm_properties;
>       dc->desc = "DIMM memory module";
> +    set_bit(DEVICE_CATEGORY_MISC, dc->categories);
>   
>       ddc->get_vmstate_memory_region = pc_dimm_get_memory_region;
>   
> diff --git a/hw/tpm/tpm_tis.c b/hw/tpm/tpm_tis.c
> index fd183e8d..36aaaa82 100644
> --- a/hw/tpm/tpm_tis.c
> +++ b/hw/tpm/tpm_tis.c
> @@ -1020,6 +1020,9 @@ static void tpm_tis_class_init(ObjectClass *klass, void *data)
>       dc->props = tpm_tis_properties;
>       dc->reset = tpm_tis_reset;
>       dc->vmsd  = &vmstate_tpm_tis;
> +    set_bit(DEVICE_CATEGORY_MISC, dc->categories);
> +    dc->desc = "Trusted Platform Module (TPM) TIS Interface";
> +
>       tc->model = TPM_MODEL_TPM_TIS;
>       tc->get_version = tpm_tis_get_tpm_version;
>       tc->request_completed = tpm_tis_request_completed;
Hervé Poussineau March 26, 2019, 6:43 p.m. UTC | #3
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 <eroken1@gmail.com>
> ---
>   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 <hpoussin@reactos.org>

> 
> 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 = &vmstate_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 = nvdimm_write_label_data;
> diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
> index 152400b1..19b9c0f4 100644
> --- a/hw/mem/pc-dimm.c
> +++ b/hw/mem/pc-dimm.c
> @@ -259,6 +259,7 @@ static void pc_dimm_class_init(ObjectClass *oc, void *data)
>       dc->unrealize = pc_dimm_unrealize;
>       dc->props = pc_dimm_properties;
>       dc->desc = "DIMM memory module";
> +    set_bit(DEVICE_CATEGORY_MISC, dc->categories);
>   
>       ddc->get_vmstate_memory_region = pc_dimm_get_memory_region;
>   
> diff --git a/hw/tpm/tpm_tis.c b/hw/tpm/tpm_tis.c
> index fd183e8d..36aaaa82 100644
> --- a/hw/tpm/tpm_tis.c
> +++ b/hw/tpm/tpm_tis.c
> @@ -1020,6 +1020,9 @@ static void tpm_tis_class_init(ObjectClass *klass, void *data)
>       dc->props = tpm_tis_properties;
>       dc->reset = tpm_tis_reset;
>       dc->vmsd  = &vmstate_tpm_tis;
> +    set_bit(DEVICE_CATEGORY_MISC, dc->categories);
> +    dc->desc = "Trusted Platform Module (TPM) TIS Interface";
> +
>       tc->model = TPM_MODEL_TPM_TIS;
>       tc->get_version = tpm_tis_get_tpm_version;
>       tc->request_completed = tpm_tis_request_completed;
>
Eduardo Habkost March 26, 2019, 6:49 p.m. UTC | #4
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 <eroken1@gmail.com>
> > ---
> >   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 <hpoussin@reactos.org>

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.
Philippe Mathieu-Daudé March 26, 2019, 7:28 p.m. UTC | #5
Le mar. 26 mars 2019 20:10, Eduardo Habkost <ehabkost@redhat.com> 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 <eroken1@gmail.com>
> > > ---
> > >   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 <hpoussin@reactos.org>
>
> 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
>
>
Ernest Esene March 27, 2019, 7:40 a.m. UTC | #6
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 <eroken1@gmail.com>
> 
> 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
Ernest Esene March 27, 2019, 8:17 a.m. UTC | #7
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 <eroken1@gmail.com>
> > > ---
> > >   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 <hpoussin@reactos.org>
> 
> 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
diff mbox series

Patch

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 = &vmstate_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 = nvdimm_write_label_data;
diff --git a/hw/mem/pc-dimm.c b/hw/mem/pc-dimm.c
index 152400b1..19b9c0f4 100644
--- a/hw/mem/pc-dimm.c
+++ b/hw/mem/pc-dimm.c
@@ -259,6 +259,7 @@  static void pc_dimm_class_init(ObjectClass *oc, void *data)
     dc->unrealize = pc_dimm_unrealize;
     dc->props = pc_dimm_properties;
     dc->desc = "DIMM memory module";
+    set_bit(DEVICE_CATEGORY_MISC, dc->categories);
 
     ddc->get_vmstate_memory_region = pc_dimm_get_memory_region;
 
diff --git a/hw/tpm/tpm_tis.c b/hw/tpm/tpm_tis.c
index fd183e8d..36aaaa82 100644
--- a/hw/tpm/tpm_tis.c
+++ b/hw/tpm/tpm_tis.c
@@ -1020,6 +1020,9 @@  static void tpm_tis_class_init(ObjectClass *klass, void *data)
     dc->props = tpm_tis_properties;
     dc->reset = tpm_tis_reset;
     dc->vmsd  = &vmstate_tpm_tis;
+    set_bit(DEVICE_CATEGORY_MISC, dc->categories);
+    dc->desc = "Trusted Platform Module (TPM) TIS Interface";
+
     tc->model = TPM_MODEL_TPM_TIS;
     tc->get_version = tpm_tis_get_tpm_version;
     tc->request_completed = tpm_tis_request_completed;