On 12.08.2020 14:47, Roger Pau Monne wrote: > Add a new vlapic_set_irq_callback helper in order to inject a vector > and set a callback to be executed when the guest performs the end of > interrupt acknowledgment.
One thing I don't understand at all for now is how these callbacks are going to be re-instated after migration for not-yet-EOIed interrupts. > @@ -1636,9 +1671,23 @@ int vlapic_init(struct vcpu *v) > } > clear_page(vlapic->regs); > > + if ( !vlapic->callbacks ) > + { > + vlapic->callbacks = xmalloc_array(typeof(*(vlapic->callbacks)), There's a pair of not really needed parentheses here (also again a little further down). > + X86_NR_VECTORS); > + if ( !vlapic->callbacks ) > + { > + dprintk(XENLOG_ERR, "alloc vlapic callbacks error: %d/%d\n", > + v->domain->domain_id, v->vcpu_id); Please use %pd. Jan