Hi Ian,

On 22/10/15 17:17, Ian Campbell wrote:
> On Mon, 2015-10-12 at 15:22 +0100, Julien Grall wrote:
>> [...]
>>          /* Only migrate the vIRQ if the target vCPU has changed */
>>          if ( new_target != old_target )
>>          {
>> +            unsigned int virq = rank->index * NR_INTERRUPT_PER_RANK + 
>> offset;
> 
> FWIW this was the value of offset before it was shifted + masked, I think.
> Could you not just save it up top and remember it?

In fact, the virq is already correctly set before the loop (see patch #2):

virq = rank->index * NR_INTERRUPT_PER_RANK + offset;

The variable is incremented in the for loop. So I just forgot to drop
this line when I did the split.

Not that it's not possible to use directly offset because for byte
access it will point to the byte modified and not the base address of
the register.

Though, I could use a mask, but I find this solution clearer.

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to