[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <52A20AD6.8080706@redhat.com>
Date: Fri, 06 Dec 2013 18:35:18 +0100
From: Paolo Bonzini <pbonzini@...hat.com>
To: Qiaowei Ren <qiaowei.ren@...el.com>
CC: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, x86@...nel.org,
linux-kernel@...r.kernel.org, qemu-devel@...gnu.org,
kvm@...r.kernel.org, Xudong Hao <xudong.hao@...el.com>,
Liu Jinsong <jinsong.liu@...el.com>
Subject: Re: [PATCH v2 3/3] X86, mpx: Intel MPX xstate feature definition
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 <qiaowei.ren@...el.com>
> Signed-off-by: Xudong Hao <xudong.hao@...el.com>
> Signed-off-by: Liu Jinsong <jinsong.liu@...el.com>
> ---
> 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, "
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists