mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
vt-d: Minor fixing of interrupt remapping
When ir_ctrl->iremap_index == -1, it means there is no remap entry. So it needn't to convert from remap format to normal ioapic format. Signed-off-by: Weidong Han <weidong.han@intel.com>
This commit is contained in:
1 parent
c8af9ce961
commit
65daf3ef4e
1 file changed
+3
-2
@@ -52,7 +52,7 @@ static void remap_entry_to_ioapic_rte(
|
||||
unsigned long flags;
|
||||
struct ir_ctrl *ir_ctrl = iommu_ir_ctrl(iommu);
|
||||
|
||||
if ( ir_ctrl == NULL || ir_ctrl->iremap_index < 0 )
|
||||
if ( ir_ctrl == NULL )
|
||||
{
|
||||
dprintk(XENLOG_ERR VTDPREFIX,
|
||||
"remap_entry_to_ioapic_rte: ir_ctl is not ready\n");
|
||||
@@ -170,7 +170,8 @@ unsigned int io_apic_read_remap_rte(
|
||||
struct iommu *iommu = ioapic_to_iommu(mp_ioapics[apic].mpc_apicid);
|
||||
struct ir_ctrl *ir_ctrl = iommu_ir_ctrl(iommu);
|
||||
|
||||
if ( !iommu || !ir_ctrl || ir_ctrl->iremap_maddr == 0 )
|
||||
if ( !iommu || !ir_ctrl || ir_ctrl->iremap_maddr == 0 ||
|
||||
ir_ctrl->iremap_index == -1 )
|
||||
{
|
||||
*IO_APIC_BASE(apic) = reg;
|
||||
return *(IO_APIC_BASE(apic)+4);
|
||||
|
||||