hyperv: address HvSintRoute by X86CPU pointer
Use X86CPU pointer to refer to the respective HvSintRoute instead of vp_index. This is more convenient and also paves the way for future enhancements. Signed-off-by: Roman Kagan <rkagan@virtuozzo.com> Message-Id: <20180921081836.29230-7-rkagan@virtuozzo.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
b56920245c
commit
09cfb2f635
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
struct HvSintRoute {
|
struct HvSintRoute {
|
||||||
uint32_t sint;
|
uint32_t sint;
|
||||||
uint32_t vp_index;
|
X86CPU *cpu;
|
||||||
int gsi;
|
int gsi;
|
||||||
EventNotifier sint_set_notifier;
|
EventNotifier sint_set_notifier;
|
||||||
EventNotifier sint_ack_notifier;
|
EventNotifier sint_ack_notifier;
|
||||||
@ -97,6 +97,12 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
|
|||||||
HvSintRoute *sint_route;
|
HvSintRoute *sint_route;
|
||||||
EventNotifier *ack_notifier;
|
EventNotifier *ack_notifier;
|
||||||
int r, gsi;
|
int r, gsi;
|
||||||
|
X86CPU *cpu;
|
||||||
|
|
||||||
|
cpu = hyperv_find_vcpu(vp_index);
|
||||||
|
if (!cpu) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
sint_route = g_new0(HvSintRoute, 1);
|
sint_route = g_new0(HvSintRoute, 1);
|
||||||
r = event_notifier_init(&sint_route->sint_set_notifier, false);
|
r = event_notifier_init(&sint_route->sint_set_notifier, false);
|
||||||
@ -128,7 +134,7 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint,
|
|||||||
sint_route->gsi = gsi;
|
sint_route->gsi = gsi;
|
||||||
sint_route->sint_ack_clb = sint_ack_clb;
|
sint_route->sint_ack_clb = sint_ack_clb;
|
||||||
sint_route->sint_ack_clb_data = sint_ack_clb_data;
|
sint_route->sint_ack_clb_data = sint_ack_clb_data;
|
||||||
sint_route->vp_index = vp_index;
|
sint_route->cpu = cpu;
|
||||||
sint_route->sint = sint;
|
sint_route->sint = sint;
|
||||||
|
|
||||||
return sint_route;
|
return sint_route;
|
||||||
|
Loading…
Reference in New Issue
Block a user