win-pvdrivers

changeset 705:b620a1b82e0b

Fixed a problem with interrupt delivery where there were >8 CPU's
author James Harper <james.harper@bendigoit.com.au>
date Tue Dec 08 21:08:12 2009 +1100 (2009-12-08)
parents 7b5ccd2632d9
children d6f6830dc60d
files xenpci/xenpci_pdo.c
line diff
     1.1 --- a/xenpci/xenpci_pdo.c	Thu Nov 26 19:51:45 2009 +1100
     1.2 +++ b/xenpci/xenpci_pdo.c	Tue Dec 08 21:08:12 2009 +1100
     1.3 @@ -929,7 +929,7 @@ XenPciPdo_EvtDeviceWdmIrpPreprocess_STAR
     1.4          prd->u.Interrupt.Level = 0;       // Set group and level to zero (group = upper word)
     1.5          prd->u.Interrupt.Level = xpdd->irq_number & 0xffff; // Only set the lower word
     1.6          prd->u.Interrupt.Vector = xpdd->irq_number;
     1.7 -        prd->u.Interrupt.Affinity = KeQueryActiveProcessors();
     1.8 +        prd->u.Interrupt.Affinity = xpdd->irq_affinity; //KeQueryActiveProcessors();
     1.9          xppdd->irq_number = xpdd->irq_number;
    1.10        }
    1.11        break;
    1.12 @@ -979,7 +979,7 @@ XenPciPdo_EvtDeviceWdmIrpPreprocess_STAR
    1.13          prd->u.Interrupt.Level = 0;       // Set group and level to zero (group = upper word)
    1.14          prd->u.Interrupt.Level = xpdd->irq_level & 0xffff; // Only set the lower word
    1.15          prd->u.Interrupt.Vector = xpdd->irq_vector;
    1.16 -        prd->u.Interrupt.Affinity = KeQueryActiveProcessors();
    1.17 +        prd->u.Interrupt.Affinity = xpdd->irq_affinity; //KeQueryActiveProcessors();
    1.18          xppdd->irq_vector = xpdd->irq_vector;
    1.19          xppdd->irq_level = xpdd->irq_level;
    1.20        }