Re: [PATCH 1/3] xen: update xen headers

From: Stefano Stabellini
Date: Tue Jul 05 2016 - 11:08:32 EST


On Wed, 22 Jun 2016, Juergen Gross wrote:
> Update some Xen headers to be able to use new functionality.
>
> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>

Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>


> include/xen/interface/vcpu.h | 24 +++++++++++++++---------
> include/xen/interface/xen.h | 17 ++++++++++++++++-
> 2 files changed, 31 insertions(+), 10 deletions(-)
>
> diff --git a/include/xen/interface/vcpu.h b/include/xen/interface/vcpu.h
> index b05288c..98188c8 100644
> --- a/include/xen/interface/vcpu.h
> +++ b/include/xen/interface/vcpu.h
> @@ -75,15 +75,21 @@
> */
> #define VCPUOP_get_runstate_info 4
> struct vcpu_runstate_info {
> - /* VCPU's current state (RUNSTATE_*). */
> - int state;
> - /* When was current state entered (system time, ns)? */
> - uint64_t state_entry_time;
> - /*
> - * Time spent in each RUNSTATE_* (ns). The sum of these times is
> - * guaranteed not to drift from system time.
> - */
> - uint64_t time[4];
> + /* VCPU's current state (RUNSTATE_*). */
> + int state;
> + /* When was current state entered (system time, ns)? */
> + uint64_t state_entry_time;
> + /*
> + * Update indicator set in state_entry_time:
> + * When activated via VMASST_TYPE_runstate_update_flag, set during
> + * updates in guest memory mapped copy of vcpu_runstate_info.
> + */
> +#define XEN_RUNSTATE_UPDATE (1ULL << 63)
> + /*
> + * Time spent in each RUNSTATE_* (ns). The sum of these times is
> + * guaranteed not to drift from system time.
> + */
> + uint64_t time[4];
> };
> DEFINE_GUEST_HANDLE_STRUCT(vcpu_runstate_info);
>
> diff --git a/include/xen/interface/xen.h b/include/xen/interface/xen.h
> index d133112..1b0d189 100644
> --- a/include/xen/interface/xen.h
> +++ b/include/xen/interface/xen.h
> @@ -413,7 +413,22 @@ DEFINE_GUEST_HANDLE_STRUCT(mmuext_op);
> /* x86/PAE guests: support PDPTs above 4GB. */
> #define VMASST_TYPE_pae_extended_cr3 3
>
> -#define MAX_VMASST_TYPE 3
> +/*
> + * x86 guests: Sane behaviour for virtual iopl
> + * - virtual iopl updated from do_iret() hypercalls.
> + * - virtual iopl reported in bounce frames.
> + * - guest kernels assumed to be level 0 for the purpose of iopl checks.
> + */
> +#define VMASST_TYPE_architectural_iopl 4
> +
> +/*
> + * All guests: activate update indicator in vcpu_runstate_info
> + * Enable setting the XEN_RUNSTATE_UPDATE flag in guest memory mapped
> + * vcpu_runstate_info during updates of the runstate information.
> + */
> +#define VMASST_TYPE_runstate_update_flag 5
> +
> +#define MAX_VMASST_TYPE 5
>
> #ifndef __ASSEMBLY__
>
> --
> 2.6.6
>