mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
x86/IOMMU: address violations of MISRA C:2012 Rule 14.4
The xen sources contain violations of MISRA C:2012 Rule 14.4 whose headline states: "The controlling expression of an if statement and the controlling expression of an iteration-statement shall have essentially Boolean type". Add comparisons to avoid using enum constants as controlling expressions to comply with Rule 14.4. Amend the comment in the enum definition to reflect the fact that boolean uses of iommu_intremap are no longer allowed. No functional change. Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
1 parent
3d1033c911
commit
fcefb2a247
6 files changed
+10
-14
No files matched your search
+3
-3
@@ -278,7 +278,7 @@ static int hpet_msi_write(struct hpet_event_channel *ch, struct msi_msg *msg)
|
||||
{
|
||||
ch->msi.msg = *msg;
|
||||
|
||||
if ( iommu_intremap )
|
||||
if ( iommu_intremap != iommu_intremap_off )
|
||||
{
|
||||
int rc = iommu_update_ire_from_msi(&ch->msi, msg);
|
||||
|
||||
@@ -352,7 +352,7 @@ static int __init hpet_setup_msi_irq(struct hpet_event_channel *ch)
|
||||
u32 cfg = hpet_read32(HPET_Tn_CFG(ch->idx));
|
||||
irq_desc_t *desc = irq_to_desc(ch->msi.irq);
|
||||
|
||||
if ( iommu_intremap )
|
||||
if ( iommu_intremap != iommu_intremap_off )
|
||||
{
|
||||
ch->msi.hpet_id = hpet_blockid;
|
||||
ret = iommu_setup_hpet_msi(&ch->msi);
|
||||
@@ -371,7 +371,7 @@ static int __init hpet_setup_msi_irq(struct hpet_event_channel *ch)
|
||||
ret = __hpet_setup_msi_irq(desc);
|
||||
if ( ret < 0 )
|
||||
{
|
||||
if ( iommu_intremap )
|
||||
if ( iommu_intremap != iommu_intremap_off )
|
||||
iommu_update_ire_from_msi(&ch->msi, NULL);
|
||||
return ret;
|
||||
}
|
||||
|
||||
+2
-2
@@ -189,7 +189,7 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
|
||||
{
|
||||
entry->msg = *msg;
|
||||
|
||||
if ( iommu_intremap )
|
||||
if ( iommu_intremap != iommu_intremap_off )
|
||||
{
|
||||
int rc;
|
||||
|
||||
@@ -555,7 +555,7 @@ int msi_free_irq(struct msi_desc *entry)
|
||||
destroy_irq(entry[nr].irq);
|
||||
|
||||
/* Free the unused IRTE if intr remap enabled */
|
||||
if ( iommu_intremap )
|
||||
if ( iommu_intremap != iommu_intremap_off )
|
||||
iommu_update_ire_from_msi(entry + nr, NULL);
|
||||
}
|
||||
|
||||
|
||||
@@ -1483,7 +1483,7 @@ int __init amd_iommu_init(bool xt)
|
||||
goto error_out;
|
||||
}
|
||||
|
||||
if ( iommu_intremap )
|
||||
if ( iommu_intremap != iommu_intremap_off )
|
||||
register_keyhandler('V', &amd_iommu_dump_intremap_tables,
|
||||
"dump IOMMU intremap tables", 0);
|
||||
|
||||
@@ -1501,7 +1501,7 @@ int __init amd_iommu_init_late(void)
|
||||
|
||||
/* Further initialize the device table(s). */
|
||||
pci_init = true;
|
||||
if ( iommu_intremap )
|
||||
if ( iommu_intremap != iommu_intremap_off )
|
||||
rc = iterate_ivrs_mappings(amd_iommu_setup_device_table);
|
||||
|
||||
for_each_amd_iommu ( iommu )
|
||||
|
||||
@@ -2540,7 +2540,7 @@ static int __must_check init_vtd_hw(bool resume)
|
||||
/*
|
||||
* Enable interrupt remapping
|
||||
*/
|
||||
if ( iommu_intremap )
|
||||
if ( iommu_intremap != iommu_intremap_off )
|
||||
{
|
||||
int apic;
|
||||
for ( apic = 0; apic < nr_ioapics; apic++ )
|
||||
@@ -2556,7 +2556,7 @@ static int __must_check init_vtd_hw(bool resume)
|
||||
}
|
||||
}
|
||||
}
|
||||
if ( iommu_intremap )
|
||||
if ( iommu_intremap != iommu_intremap_off )
|
||||
{
|
||||
for_each_drhd_unit ( drhd )
|
||||
{
|
||||
|
||||
@@ -392,7 +392,7 @@ void __init platform_quirks_init(void)
|
||||
map_igd_reg();
|
||||
|
||||
/* Tylersburg interrupt remap quirk */
|
||||
if ( iommu_intremap )
|
||||
if ( iommu_intremap != iommu_intremap_off )
|
||||
tylersburg_intremap_quirk();
|
||||
}
|
||||
|
||||
|
||||
@@ -60,10 +60,6 @@ extern uint8_t iommu_quarantine;
|
||||
|
||||
#ifdef CONFIG_X86
|
||||
extern enum __packed iommu_intremap {
|
||||
/*
|
||||
* In order to allow traditional boolean uses of the iommu_intremap
|
||||
* variable, the "off" value has to come first (yielding a value of zero).
|
||||
*/
|
||||
iommu_intremap_off,
|
||||
/*
|
||||
* Interrupt remapping enabled, but only able to generate interrupts
|
||||
|
||||