On 17/08/2018 16:12, Wei Liu wrote:
> Since it is defined in common header file, introduce CONFIG_HVM to
> Arm to avoid breakage.
>
> Signed-off-by: Wei Liu <[email protected]>
> ---
> xen/arch/arm/Kconfig | 3 +++
> xen/include/xen/sched.h | 6 ++++++
> 2 files changed, 9 insertions(+)
>
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 586bc62..c0e969e 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 51ceebe..8fc3423 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -879,8 +879,14 @@ 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))
> +
> +#if CONFIG_HVM
> #define is_hvm_domain(d) ((d)->guest_type == guest_type_hvm)
> +#else
> +#define is_hvm_domain(d) (0)
> +#endif
> #define is_hvm_vcpu(v) (is_hvm_domain(v->domain))
The need for the following patch is caused by a bug here, in that you
don't evaluate d.
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 51ceebe..fdd18a7 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
seems to compile, and should DTRT including all appropriate parameter
evaluation.
~Andrew
_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel