qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 3/3] X86, mpx: Intel MPX xstate feature defin


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH v2 3/3] X86, mpx: Intel MPX xstate feature definition
Date: Fri, 06 Dec 2013 18:35:18 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9

Il 07/12/2013 01:20, Qiaowei Ren ha scritto:
> This patch defines xstate feature and extends struct xsave_hdr_struct
> to support Intel MPX.
> 
> Signed-off-by: Qiaowei Ren <address@hidden>
> Signed-off-by: Xudong Hao <address@hidden>
> Signed-off-by: Liu Jinsong <address@hidden>
> ---
>  arch/x86/include/asm/processor.h |   12 ++++++++++++
>  arch/x86/include/asm/xsave.h     |    5 ++++-
>  2 files changed, 16 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/include/asm/processor.h 
> b/arch/x86/include/asm/processor.h
> index 987c75e..2fe2e75 100644
> --- a/arch/x86/include/asm/processor.h
> +++ b/arch/x86/include/asm/processor.h
> @@ -370,6 +370,15 @@ struct ymmh_struct {
>       u32 ymmh_space[64];
>  };
>  
> +struct bndregs_struct {
> +     u64 bndregs[8];
> +} __packed;
> +
> +struct bndcsr_struct {
> +     u64 cfg_reg_u;
> +     u64 status_reg;
> +} __packed;
> +
>  struct xsave_hdr_struct {
>       u64 xstate_bv;
>       u64 reserved1[2];
> @@ -380,6 +389,9 @@ struct xsave_struct {
>       struct i387_fxsave_struct i387;
>       struct xsave_hdr_struct xsave_hdr;
>       struct ymmh_struct ymmh;
> +     u8 lwp_area[128];

Sorry for the back-and-forth, but I think this and the removal of
XSTATE_FLEXIBLE (perhaps XSTATE_LAZY?) makes your v2 worse than v1.

Since Peter already said the same, please undo these changes.

Also, how is XSTATE_EAGER used?  Should MPX be disabled when xsaveopt is
disabled on the kernel command line?  (Liu, how would this affect the
KVM patches, too?)

Paolo

> +#define XSTATE_EAGER (XSTATE_BNDREGS | XSTATE_BNDCSR)
>  /*
>   * These are the features that the OS can handle currently.
>   */
> -#define XCNTXT_MASK  (XSTATE_FP | XSTATE_SSE | XSTATE_YMM)
> +#define XCNTXT_MASK    (XSTATE_FP | XSTATE_SSE | XSTATE_YMM | XSTATE_EAGER)
>  
>  #ifdef CONFIG_X86_64
>  #define REX_PREFIX   "0x48, "
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]