Re: [PATCH 1/3] KVM: x86: Move kvm_(un)register_irq_mask_notifier() to generic KVM
From: Sean Christopherson
Date: Thu Jul 28 2022 - 14:47:06 EST
On Fri, Jul 15, 2022, Dmytro Maluka wrote:
> In preparation for implementing postponing resamplefd event until the
> interrupt is unmasked, move kvm_(un)register_irq_mask_notifier() from
> x86 to arch-independent code to make it usable by irqfd.
This patch needs to move more than just the helpers, e.g. mask_notifier_list
needs to be in "struct kvm", not "stuct kvm_arch".
arch/arm64/kvm/../../../virt/kvm/eventfd.c: In function ‘kvm_register_irq_mask_notifier’:
arch/arm64/kvm/../../../virt/kvm/eventfd.c:528:51: error: ‘struct kvm_arch’ has no member named ‘mask_notifier_list’
528 | hlist_add_head_rcu(&kimn->link, &kvm->arch.mask_notifier_list);
| ^
make[3]: *** [scripts/Makefile.build:249: arch/arm64/kvm/../../../virt/kvm/eventfd.o] Error 1
make[3]: *** Waiting for unfinished jobs....
AR kernel/entry/built-in.a
And kvm_fire_mask_notifiers() should probably be moved as well, otherwise there's
no point in moving the registration to common code.
The other option would be to make the generic functions wrappers around arch-specific
hooks. But IIRC won't this eventually be needed for other architectures?