lkml.org 
[lkml]   [2011]   [Nov]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 6/7] x86/i387.c: Thread xstate is initialized only on BSP once
    Date
    From: Fenghua Yu <fenghua.yu@intel.com>

    init_thread_xstate() is only called on BSP once to avoid overriding xstate_size.

    Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
    ---
    arch/x86/kernel/i387.c | 9 ++++++++-
    1 files changed, 8 insertions(+), 1 deletions(-)

    diff --git a/arch/x86/kernel/i387.c b/arch/x86/kernel/i387.c
    index 739d859..72652ff 100644
    --- a/arch/x86/kernel/i387.c
    +++ b/arch/x86/kernel/i387.c
    @@ -93,6 +93,7 @@ void __cpuinit fpu_init(void)
    {
    unsigned long cr0;
    unsigned long cr4_mask = 0;
    + static int once = 1;

    if (cpu_has_fxsr)
    cr4_mask |= X86_CR4_OSFXSR;
    @@ -107,8 +108,14 @@ void __cpuinit fpu_init(void)
    cr0 |= X86_CR0_EM;
    write_cr0(cr0);

    - if (!smp_processor_id())
    + /*
    + * init_thread_xstate is only called on BSP once to avoid overriding
    + * xstate_size.
    + */
    + if (!smp_processor_id() && once) {
    + once = 0;
    init_thread_xstate();
    + }

    mxcsr_feature_mask_init();
    /* clean state in init */
    --
    1.6.0.3


    \
     
     \ /
      Last update: 2011-11-12 06:47    [W:0.020 / U:121.328 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site