On Tue, 2023-01-17 at 10:56 +0000, Paul Durrant wrote:
I'm just having a hard time seeing why passing 0 to
xen_evtchn_set_callback_param() does anything useful...
+ switch (param >> CALLBACK_VIA_TYPE_SHIFT) {
+ case HVM_PARAM_CALLBACK_TYPE_VECTOR: {
+ struct kvm_xen_hvm_attr xa = {
+ .type = KVM_XEN_ATTR_TYPE_UPCALL_VECTOR,
+ .u.vector = (uint8_t)param,
+ };
HVM_PARAM_CALLBACK_TYPE_VECTOR is 2 AFAICT, so it won't hit that case.
Also, you appear to be passing the unshifted param to kernel anyway.
What is the call trying to achieve?
Zero is HVM_PARAM_CALLBACK_TYPE_GSI, with GSI==0. It's basically
disabling event channel delivery for the new kernel.