--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -279,7 +279,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);
@@ -353,7 +353,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);
@@ -372,7 +372,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;
}
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 7f8e794254..72dce2e4ab 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -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);
}