On 9/4/26 1:25 PM, Baptiste Le Duc wrote:
Virtual interrupt controller state must be preserved across vCPU context
switches.

Introduce vintc_ctxt_switch_{from,to}() wrappers around new
ctxt_switch_{from,to}() hooks in struct vintc_ops, and call them from the
context switch path, so that this state can be saved/restored without
knowing which vINTC variant a domain uses.

No vINTC variant implements the hooks yet: the vAPLIC implementation is
added separately.
So this patch couldn't be applied alone as, at the time of this commit, you 
only set in vaplic.c:
     static const struct vintc_ops vintc_ops = {
         .vcpu_init = vcpu_imsic_init,
         .vcpu_deinit = vcpu_imsic_deinit,
     };

So ops->ctxt_switch_from(v) or ops->ctxt_switch_to(v) will try to
deference NULL pointer causing segfault. I don't know if it's matter but
worth to mention somewhere.


Just abstraction is introduced here and context switch isn't happen for now so we are safe.

~ Oleksii


Reply via email to