[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN PATCH 3/6] AMD/IOMMU: address violations of MISRA C:2012 Rule 8.2
On Tue, 5 Dec 2023, Federico Serafini wrote: > Add missing parameter names to address violations of MISRA C:2012 > Rule 8.2. Furthermore, remove trailing spaces and use C standard types to > comply with XEN coding style. > > No functional change. > > Signed-off-by: Federico Serafini <federico.serafini@xxxxxxxxxxx> > --- > xen/drivers/passthrough/amd/iommu.h | 17 ++++++++++------- > xen/drivers/passthrough/amd/iommu_init.c | 24 ++++++++++++++---------- > 2 files changed, 24 insertions(+), 17 deletions(-) > > diff --git a/xen/drivers/passthrough/amd/iommu.h > b/xen/drivers/passthrough/amd/iommu.h > index d4416ebc43..1b62c083ba 100644 > --- a/xen/drivers/passthrough/amd/iommu.h > +++ b/xen/drivers/passthrough/amd/iommu.h > @@ -138,10 +138,12 @@ struct ivrs_mappings { > extern unsigned int ivrs_bdf_entries; > extern u8 ivhd_type; > > -struct ivrs_mappings *get_ivrs_mappings(u16 seg); > -int iterate_ivrs_mappings(int (*)(u16 seg, struct ivrs_mappings *)); > -int iterate_ivrs_entries(int (*)(const struct amd_iommu *, > - struct ivrs_mappings *, uint16_t)); > +struct ivrs_mappings *get_ivrs_mappings(uint16_t seg); > +int iterate_ivrs_mappings(int (*handler)(uint16_t seg, > + struct ivrs_mappings *map)); > +int iterate_ivrs_entries(int (*handler)(const struct amd_iommu *iommu, > + struct ivrs_mappings *map, > + uint16_t bdf)); > > /* iommu tables in guest space */ > struct mmio_reg { > @@ -226,7 +228,7 @@ struct acpi_ivrs_hardware; > /* amd-iommu-detect functions */ > int amd_iommu_get_ivrs_dev_entries(void); > int amd_iommu_get_supported_ivhd_type(void); > -int amd_iommu_detect_one_acpi(const struct acpi_ivrs_hardware *); > +int amd_iommu_detect_one_acpi(const struct acpi_ivrs_hardware *ivhd_block); > int amd_iommu_detect_acpi(void); > void get_iommu_features(struct amd_iommu *iommu); > > @@ -295,9 +297,10 @@ struct amd_iommu *find_iommu_for_device(int seg, int > bdf); > bool cf_check iov_supports_xt(void); > int amd_iommu_setup_ioapic_remapping(void); > void *amd_iommu_alloc_intremap_table( > - const struct amd_iommu *, unsigned long **, unsigned int nr); > + const struct amd_iommu *iommu, unsigned long **inuse_map, unsigned int > nr); > int cf_check amd_iommu_free_intremap_table( > - const struct amd_iommu *, struct ivrs_mappings *, uint16_t); > + const struct amd_iommu *iommu, struct ivrs_mappings *ivrs_mapping, > + uint16_t bdf); > unsigned int amd_iommu_intremap_table_order( > const void *irt, const struct amd_iommu *iommu); > void cf_check amd_iommu_ioapic_update_ire( > diff --git a/xen/drivers/passthrough/amd/iommu_init.c > b/xen/drivers/passthrough/amd/iommu_init.c > index 5515cb70fd..62f9bfdfc8 100644 > --- a/xen/drivers/passthrough/amd/iommu_init.c > +++ b/xen/drivers/passthrough/amd/iommu_init.c > @@ -300,12 +300,13 @@ static void cf_check set_iommu_ppr_log_control( > static int iommu_read_log(struct amd_iommu *iommu, > struct ring_buffer *log, > unsigned int entry_size, > - void (*parse_func)(struct amd_iommu *, u32 *)) > + void (*parse_func)(struct amd_iommu *iommu, > + uint32_t *entry)) > { > unsigned int tail, tail_offest, head_offset; > > BUG_ON(!iommu || ((log != &iommu->event_log) && (log != > &iommu->ppr_log))); > - > + > spin_lock(&log->lock); > > /* make sure there's an entry in the log */ > @@ -361,14 +362,15 @@ static int iommu_read_log(struct amd_iommu *iommu, > > out: > spin_unlock(&log->lock); > - > + > return 0; > } > > /* reset event log or ppr log when overflow */ > static void iommu_reset_log(struct amd_iommu *iommu, > struct ring_buffer *log, > - void (*ctrl_func)(struct amd_iommu *iommu, bool)) > + void (*ctrl_func)(struct amd_iommu *iommu, > + bool iommu_control)) instead of iommu_control it should be iommu_enable ? > { > unsigned int entry, run_bit, loop_count = 1000; > bool log_run; > @@ -1158,14 +1160,15 @@ static void __init amd_iommu_init_cleanup(void) > iommuv2_enabled = 0; > } > > -struct ivrs_mappings *get_ivrs_mappings(u16 seg) > +struct ivrs_mappings *get_ivrs_mappings(uint16_t seg) > { > return radix_tree_lookup(&ivrs_maps, seg); > } > > -int iterate_ivrs_mappings(int (*handler)(u16 seg, struct ivrs_mappings *)) > +int iterate_ivrs_mappings(int (*handler)(uint16_t seg, > + struct ivrs_mappings *map)) Instead of map it should be ivrs_mappings ? Actually it reads better as map and I know it is not a MISRA requirement to have function pointer args match. I'll leave this one to Jan. > { > - u16 seg = 0; > + uint16_t seg = 0; > int rc = 0; > > do { > @@ -1180,10 +1183,11 @@ int iterate_ivrs_mappings(int (*handler)(u16 seg, > struct ivrs_mappings *)) > return rc; > } > > -int iterate_ivrs_entries(int (*handler)(const struct amd_iommu *, > - struct ivrs_mappings *, uint16_t > bdf)) > +int iterate_ivrs_entries(int (*handler)(const struct amd_iommu *iommu, > + struct ivrs_mappings *map, same here ivrs_mappings instead of map, but actually map reads better I checked everything else and looks OK
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |