On 02/13/2014 12:08 PM, Alexey Kardashevskiy wrote: > Currently interrupt priorities are set to 0 (highest) at the very > beginning of the guest execution which is not correct and makes the guest > produce random interrupt error messages such as: > "Interrupt 0x1001 (real) is invalid, disabling it". > This also prevents interrupt states from correct migration. > > This initializes priority to 0xFF as the emulated XICS does.
Ping? Pretty simple patch suggested by Paul Mackerras. > Signed-off-by: Alexey Kardashevskiy <a...@ozlabs.ru> > --- > hw/intc/xics_kvm.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/hw/intc/xics_kvm.c b/hw/intc/xics_kvm.c > index c203646..eaf94d9 100644 > --- a/hw/intc/xics_kvm.c > +++ b/hw/intc/xics_kvm.c > @@ -269,6 +269,15 @@ static void ics_kvm_set_irq(void *opaque, int srcno, int > val) > > static void ics_kvm_reset(DeviceState *dev) > { > + ICSState *ics = ICS(dev); > + int i; > + > + memset(ics->irqs, 0, sizeof(ICSIRQState) * ics->nr_irqs); > + for (i = 0; i < ics->nr_irqs; i++) { > + ics->irqs[i].priority = 0xff; > + ics->irqs[i].saved_priority = 0xff; > + } > + > ics_set_kvm_state(ICS(dev), 1); > } > > -- Alexey