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
