mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 18:23:57 -06:00
hw/xen: Implement EVTCHNOP_reset
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> Reviewed-by: Paul Durrant <paul@xen.org>
This commit is contained in:
parent
306670461b
commit
a15b10978f
3 changed files with 50 additions and 0 deletions
|
@ -964,6 +964,18 @@ static bool kvm_xen_hcall_evtchn_op(struct kvm_xen_exit *exit, X86CPU *cpu,
|
|||
err = xen_evtchn_bind_vcpu_op(&vcpu);
|
||||
break;
|
||||
}
|
||||
case EVTCHNOP_reset: {
|
||||
struct evtchn_reset reset;
|
||||
|
||||
qemu_build_assert(sizeof(reset) == 2);
|
||||
if (kvm_copy_from_gva(cs, arg, &reset, sizeof(reset))) {
|
||||
err = -EFAULT;
|
||||
break;
|
||||
}
|
||||
|
||||
err = xen_evtchn_reset_op(&reset);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@ -981,6 +993,11 @@ int kvm_xen_soft_reset(void)
|
|||
|
||||
trace_kvm_xen_soft_reset();
|
||||
|
||||
err = xen_evtchn_soft_reset();
|
||||
if (err) {
|
||||
return err;
|
||||
}
|
||||
|
||||
/*
|
||||
* Zero is the reset/startup state for HVM_PARAM_CALLBACK_IRQ. Strictly,
|
||||
* it maps to HVM_PARAM_CALLBACK_TYPE_GSI with GSI#0, but Xen refuses to
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue