From: Wei Huang <wei.huang2@amd.com>
To: "Wei, Gang" <gang.wei@intel.com>
Cc: Keir,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
Fraser <keir@xen.org>
Subject: Re: [PATCH] x86: reduce magic number usage in XSAVE code (RE: [PATCH][HVM] fix XSAVE leaf 0 EBX size calculation)
Date: Wed, 9 Feb 2011 10:41:07 -0600 [thread overview]
Message-ID: <4D52C3A3.1040205@amd.com> (raw)
In-Reply-To: <F26D193E20BBDC42A43B611D1BDEDE7125917101D5@shsmsx502.ccr.corp.intel.com>
Acked-by: Wei Huang <wei.huang2@amd.com>
On 02/08/2011 11:32 PM, Wei, Gang wrote:
> Wei Huang wrote on 2011-02-05:
>> Fixes a size calculation bug when enabled bits in XFEATURE_MASK (xcr0)
>> aren't contiguous.
>>
>> Current for_loop will stop when xcr0 feature bit is 0. But in reality,
>> the bits can be non-contiguous. One example is that LWP is bit 62 on
>> AMD platform. This patch iterates through all bits to calculate the size for enabled features.
>>
>> Signed-off-by: Wei Huang<wei.huang2@amd.com>
> ACK on the patch despite it was checked in already. BTW, I want to add a trivial patch to limit the magic number usage in XSAVE code.
>
> x86: reduce magic number usage in XSAVE code
>
> Signed-off-by: Wei Gang<gang.wei@intel.com>
>
> diff -r aeda4adecaf8 xen/arch/x86/hvm/hvm.c
> --- a/xen/arch/x86/hvm/hvm.c Tue Feb 08 16:35:35 2011 +0000
> +++ b/xen/arch/x86/hvm/hvm.c Thu Feb 10 19:12:29 2011 +0800
> @@ -2223,7 +2223,7 @@ void hvm_cpuid(unsigned int input, unsig
> if ( count == 0&& v->arch.xcr0 )
> {
> /* reset EBX to default value first */
> - *ebx = 576;
> + *ebx = XSAVE_AREA_MIN_SIZE;
> for ( sub_leaf = 2; sub_leaf< 64; sub_leaf++ )
> {
> if ( !(v->arch.xcr0& (1ULL<< sub_leaf)) )
> diff -r aeda4adecaf8 xen/arch/x86/i387.c
> --- a/xen/arch/x86/i387.c Tue Feb 08 16:35:35 2011 +0000
> +++ b/xen/arch/x86/i387.c Thu Feb 10 19:14:02 2011 +0800
> @@ -221,7 +221,6 @@ static void restore_fpu(struct vcpu *v)
> }
>
> #define XSTATE_CPUID 0xd
> -#define XSAVE_AREA_MIN_SIZE (512 + 64) /* FP/SSE + XSAVE.HEADER */
>
> /*
> * Maximum size (in byte) of the XSAVE/XRSTOR save area required by all
> diff -r aeda4adecaf8 xen/include/asm-x86/i387.h
> --- a/xen/include/asm-x86/i387.h Tue Feb 08 16:35:35 2011 +0000
> +++ b/xen/include/asm-x86/i387.h Thu Feb 10 19:11:37 2011 +0800
> @@ -21,13 +21,14 @@ int xsave_alloc_save_area(struct vcpu *v
> int xsave_alloc_save_area(struct vcpu *v);
> void xsave_free_save_area(struct vcpu *v);
>
> +#define XSAVE_AREA_MIN_SIZE (512 + 64) /* FP/SSE + XSAVE.HEADER */
> #define XSTATE_FP (1ULL<< 0)
> #define XSTATE_SSE (1ULL<< 1)
> #define XSTATE_YMM (1ULL<< 2)
> #define XSTATE_LWP (1ULL<< 62) /* AMD lightweight profiling */
> #define XSTATE_FP_SSE (XSTATE_FP | XSTATE_SSE)
> #define XCNTXT_MASK (XSTATE_FP | XSTATE_SSE | XSTATE_YMM | XSTATE_LWP)
> -#define XSTATE_YMM_OFFSET (512 + 64)
> +#define XSTATE_YMM_OFFSET XSAVE_AREA_MIN_SIZE
> #define XSTATE_YMM_SIZE 256
> #define XSAVEOPT (1<< 0)
>
>
> Jimmy
prev parent reply other threads:[~2011-02-09 16:41 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-04 17:49 [PATCH][HVM] fix XSAVE leaf 0 EBX size calculation Wei Huang
2011-02-09 5:32 ` [PATCH] x86: reduce magic number usage in XSAVE code (RE: [PATCH][HVM] fix XSAVE leaf 0 EBX size calculation) Wei, Gang
2011-02-09 16:41 ` Wei Huang [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D52C3A3.1040205@amd.com \
--to=wei.huang2@amd.com \
--cc=gang.wei@intel.com \
--cc=keir@xen.org \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.