On 10/29/19 1:27 PM, Zenghui Yu wrote:
okay, the remaining question is that in vgic_v3_save_pending_tables():
ÂÂÂÂstored = val & (1U << bit_nr);
ÂÂÂÂif (stored == irq->pending_latch)
ÂÂÂÂÂÂÂ continue;
ÂÂÂÂif (irq->pending_latch)
ÂÂÂÂÂÂÂ val |= 1 << bit_nr;
ÂÂÂÂelse
ÂÂÂÂÂÂÂ val &= ~(1 << bit_nr);
Do we really have a scenario where irq->pending_latch==false and
stored==true (corresponds to the above "else") and then we clear
pending status of this LPI in guest memory?
I can not think out one now.
if you save, restore and save again. On the 1st save the LPI may be
pending, it gets stored. On the second save the LPI may be not pending
anymore?