[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH] x86/vcpu: relax VCPUOP_initialise restriction for non-PV vCPUs
There's no reason to force HVM guests to have a valid vcpu_info area when initializing a vCPU, as the vCPU can also be brought online using the local APIC, and on that path there's no requirement for vcpu_info to be setup ahead of the bring up. Note an HVM vCPU can operate normally without making use of vcpu_info. Restrict the check against dummy_vcpu_info to only apply to PV guests. Fixes: 192df6f9122d ('x86: allow HVM guests to use hypercalls to bring up vCPUs') Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- xen/common/compat/domain.c | 2 +- xen/common/domain.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/common/compat/domain.c b/xen/common/compat/domain.c index 7ff238cc2656..6b4afc823217 100644 --- a/xen/common/compat/domain.c +++ b/xen/common/compat/domain.c @@ -49,7 +49,7 @@ int compat_common_vcpu_op(int cmd, struct vcpu *v, { case VCPUOP_initialise: { - if ( v->vcpu_info_area.map == &dummy_vcpu_info ) + if ( is_pv_domain(d) && v->vcpu_info_area.map == &dummy_vcpu_info ) return -EINVAL; #ifdef CONFIG_HVM diff --git a/xen/common/domain.c b/xen/common/domain.c index f6f557499660..d956dc09eca0 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -1817,7 +1817,7 @@ long common_vcpu_op(int cmd, struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg) switch ( cmd ) { case VCPUOP_initialise: - if ( v->vcpu_info_area.map == &dummy_vcpu_info ) + if ( is_pv_domain(d) && v->vcpu_info_area.map == &dummy_vcpu_info ) return -EINVAL; rc = arch_initialise_vcpu(v, arg); -- 2.44.0
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |