From: Wei Liu Date: Sun, 26 Aug 2018 12:19:35 +0000 (+0100) Subject: xen: is_hvm_{domain,vcpu} should evaluate to false when !CONFIG_HVM X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~3386 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=674f9f71095e5d2e539165dddf8f52bbcbf485d7;p=xen.git xen: is_hvm_{domain,vcpu} should evaluate to false when !CONFIG_HVM Turn them into static inline functions which evaluate to false when CONFIG_HVM is not set. ARM won't be broken because ARM guests are set to PV type in the hypervisor. But ARM has plan to switch to HVM guest type inside the hypervisor, so preemptively introduce CONFIG_HVM for ARM here. Signed-off-by: Wei Liu Acked-by: Jan Beulich Acked-by: Julien Grall --- diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig index 586bc62582..c0e969e45a 100644 --- a/xen/arch/arm/Kconfig +++ b/xen/arch/arm/Kconfig @@ -52,6 +52,9 @@ config HAS_ITS prompt "GICv3 ITS MSI controller support" if EXPERT = "y" depends on GICV3 && !NEW_VGIC +config HVM + def_bool y + config NEW_VGIC bool prompt "Use new VGIC implementation" diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h index 2cffb2c919..0ba80cb1a8 100644 --- a/xen/include/xen/sched.h +++ b/xen/include/xen/sched.h @@ -879,8 +879,17 @@ void watchdog_domain_destroy(struct domain *d); #define is_pv_domain(d) ((d)->guest_type == guest_type_pv) #define is_pv_vcpu(v) (is_pv_domain((v)->domain)) -#define is_hvm_domain(d) ((d)->guest_type == guest_type_hvm) -#define is_hvm_vcpu(v) (is_hvm_domain(v->domain)) + +static inline bool is_hvm_domain(const struct domain *d) +{ + return IS_ENABLED(CONFIG_HVM) ? d->guest_type == guest_type_hvm : false; +} + +static inline bool is_hvm_vcpu(const struct vcpu *v) +{ + return is_hvm_domain(v->domain); +} + #define is_pinned_vcpu(v) ((v)->domain->is_pinned || \ cpumask_weight((v)->cpu_hard_affinity) == 1) #ifdef CONFIG_HAS_PASSTHROUGH