From a9e4c7073b13e856c7c64559776b0d209871edf8 Mon Sep 17 00:00:00 2001 From: Sheng Yang Date: Mon, 17 May 2010 17:22:23 +0800 Subject: [PATCH] --- yaml --- r: 202289 b: refs/heads/master c: 5ee481da7b62a992b91f958bf26aaaa92354c170 h: refs/heads/master i: 202287: d4029028c8f3d3bf97c9a2d56e2829fe137bbca2 v: v3 --- [refs] | 2 +- trunk/arch/x86/include/asm/i387.h | 2 ++ trunk/arch/x86/include/asm/xsave.h | 3 +++ trunk/arch/x86/kernel/i387.c | 3 ++- trunk/arch/x86/kernel/process.c | 1 + 5 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index bf2770b59f08..c8881fffc817 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 93736624635235cc5372ffca6d62816d02170724 +refs/heads/master: 5ee481da7b62a992b91f958bf26aaaa92354c170 diff --git a/trunk/arch/x86/include/asm/i387.h b/trunk/arch/x86/include/asm/i387.h index c991b3a7b904..815c5b2b9f57 100644 --- a/trunk/arch/x86/include/asm/i387.h +++ b/trunk/arch/x86/include/asm/i387.h @@ -482,6 +482,8 @@ static inline void fpu_copy(struct fpu *dst, struct fpu *src) memcpy(dst->state, src->state, xstate_size); } +extern void fpu_finit(struct fpu *fpu); + #endif /* __ASSEMBLY__ */ #define PSHUFB_XMM5_XMM0 .byte 0x66, 0x0f, 0x38, 0x00, 0xc5 diff --git a/trunk/arch/x86/include/asm/xsave.h b/trunk/arch/x86/include/asm/xsave.h index 2c4390cae228..29ee4e4c64cf 100644 --- a/trunk/arch/x86/include/asm/xsave.h +++ b/trunk/arch/x86/include/asm/xsave.h @@ -13,6 +13,9 @@ #define FXSAVE_SIZE 512 +#define XSTATE_YMM_SIZE 256 +#define XSTATE_YMM_OFFSET (512 + 64) + /* * These are the features that the OS can handle currently. */ diff --git a/trunk/arch/x86/kernel/i387.c b/trunk/arch/x86/kernel/i387.c index 86cef6b32253..c4444bce8469 100644 --- a/trunk/arch/x86/kernel/i387.c +++ b/trunk/arch/x86/kernel/i387.c @@ -107,7 +107,7 @@ void __cpuinit fpu_init(void) } #endif /* CONFIG_X86_64 */ -static void fpu_finit(struct fpu *fpu) +void fpu_finit(struct fpu *fpu) { #ifdef CONFIG_X86_32 if (!HAVE_HWFP) { @@ -132,6 +132,7 @@ static void fpu_finit(struct fpu *fpu) fp->fos = 0xffff0000u; } } +EXPORT_SYMBOL_GPL(fpu_finit); /* * The _current_ task is using the FPU for the first time diff --git a/trunk/arch/x86/kernel/process.c b/trunk/arch/x86/kernel/process.c index e7e35219b32f..ebcfcceccc72 100644 --- a/trunk/arch/x86/kernel/process.c +++ b/trunk/arch/x86/kernel/process.c @@ -28,6 +28,7 @@ unsigned long idle_nomwait; EXPORT_SYMBOL(idle_nomwait); struct kmem_cache *task_xstate_cachep; +EXPORT_SYMBOL_GPL(task_xstate_cachep); int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src) {