commit-hurd
[Top][All Lists]
Advanced

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

[SCM] GNU Mach branch, master, updated. v1.8-227-g231bd7f


From: Samuel Thibault
Subject: [SCM] GNU Mach branch, master, updated. v1.8-227-g231bd7f
Date: Sat, 28 Nov 2020 13:28:52 -0500 (EST)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Mach".

The branch, master has been updated
       via  231bd7fdc04517389135a4958294cf7630617385 (commit)
       via  9dd636371312ef48fa5f6bc068360ce81d2e367f (commit)
       via  0e59d87e06f967680d250b9a74d08da1389b6212 (commit)
       via  b885c5ea26fb3c2f2d91b6e9a1495070da429ea4 (commit)
       via  44e3fb20a17dac403ec022a9c4d41dc237f3c79d (commit)
      from  ad753a3e1c6c6fb100fa4c6440b056424f66b3f6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 231bd7fdc04517389135a4958294cf7630617385
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sat Nov 28 19:01:00 2020 +0100

    x86: Drop XSAVE support limitation
    
    Now that XSAVEOPT is supported, we are fine with supporting large FPU
    state.
    
    * i386/i386/fpu.c (init_fpu): Do not limit fp_xsave_support to
    CPU_XCR0_SUPPORTED.
    * i386/i386/fpu.h (CPU_XCR0_SUPPORTED): Remove macro.

commit 9dd636371312ef48fa5f6bc068360ce81d2e367f
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sat Nov 28 18:57:01 2020 +0100

    x86: Add XSAVEOPT, XSAVEC, XSAVES support
    
    * i386/i386/fpu.h (CPU_FEATURE_XSAVEOPT, CPU_FEATURE_XSAVEC,
    CPU_FEATURE_XGETBV1, CPU_FEATURE_XSAVES): New macros.
    (xsaveopt, xsavec, xsaves, xrstors): New macros.
    (fpu_save_context): Use xsaveopt, xsavec, or xsaves when available.
    (fp_save_kind): New enum.
    (fp_save_kind): New variable declaration.
    * i386/i386/fpu.c (fp_save_kind): New variable.
    (init_fpu): Set fp_save_kind according to enumeration. When XSAVES is
    supported, use xsave area size from corresponding enumeration.
    (fp_save): Use xsaveopt, xsavec, xsaves when available.
    (fp_load): Use xrstors when available.

commit 0e59d87e06f967680d250b9a74d08da1389b6212
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sat Nov 28 17:57:21 2020 +0100

    x86: Extend XSAVE support to unbound state
    
    * i386/i386/fpu.c (fp_xsave_size): New variable.
    (init_fpu): Save XSAVE size to fp_xsave_size.
    (fpu_module_init): Pass fp_xsave_size as size to kmem_cache_init.
    (fpu_set_state, fp_load, fp_state_alloc): Use fp_xsave_size to clear
    ifps.
    * i386/include/mach/i386/fp_reg.h (struct i386_xfp_save): Replace static
    fp_yreg_word with extended field.
    * i386/i386/thread.h (struct i386_fpsave_state): Make fp_valid field
    first in the structure to let the extended finish the structure.

commit b885c5ea26fb3c2f2d91b6e9a1495070da429ea4
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sat Nov 28 16:30:29 2020 +0100

    x86: Add XSAVE support
    
    * i386/i386/fpu.h (CPU_XCR0_X87, CPU_XCR0_SSE, CPU_XCR0_AVX,
    CPU_XCR0_MPX, CPU_XCR0_AVX512): New macros.
    (xsave): Pass fp_xsave_support to xsave.
    (fpu_save_context): When fp_kind is FP_387X, use xsave.
    (fp_xsave_support): New variable declaration.
    * i386/i386/proc_reg.h (cpuid): New macro.
    * linux/src/include/asm-i386/processor.h (cpuid): Disable macro.
    * i386/include/mach/i386/fp_reg.h: Include <stdint.h>
    (i386_xfp_xstate_header): New structure.
    (i386_xfp_save): Add xsave fields.
    * i386/i386/fpu.c (fp_xsave_support): New variable.
    (init_fpu): Look for XSAVE feature; if available, get the supported
    parts and set fp_kind to FP_387X.
    (fpu_module_init): Set ifps_cache alignment to alignof(struct
    i386_fpsave_state).
    (fpu_set_state): Make sure to clear all the ifps structure.
    Reuse the FP_387FX for the FP_387X case.
    (fpu_get_state, fpexterrflt, fpastintr, fp_state_alloc): Reuse the FP_387FX
    for the FP_387X case.
    (fp_save): When fp_kind is FP_387X, use xsave.
    (fp_load): When fp_kind is FP_387X, use xrstor.
    Reuse the FP_387FX for the FP_387X case.

commit 44e3fb20a17dac403ec022a9c4d41dc237f3c79d
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sat Nov 28 12:07:41 2020 +0100

    fpu: Rename FP_387X to FP_387FX
    
    To leave FP_387X for XSAVE-supporting CPU (as opposed to
    FXSAVE-supporting CPU)
    
    * i386/include/mach/i386/fp_reg.h (FP_387X): Rename to FP_387FX.
    (FP_387X): New macro.
    * i386/i386/fpu.c (init_fpu, fpu_set_state, fpu_get_state, fpexterrflt,
    fpastintr, fp_save, fp_load, fp_state_alloc): Update accordingly.
    * i386/i386/fpu.h (fpu_save_context): Likewise.

-----------------------------------------------------------------------

Summary of changes:
 i386/i386/fpu.c                        | 125 ++++++++++++++++++++++++++-------
 i386/i386/fpu.h                        |  71 +++++++++++++++++--
 i386/i386/proc_reg.h                   |  22 ++++++
 i386/i386/thread.h                     |   3 +-
 i386/include/mach/i386/fp_reg.h        |  27 +++++--
 linux/src/include/asm-i386/processor.h |   2 +
 6 files changed, 213 insertions(+), 37 deletions(-)


hooks/post-receive
-- 
GNU Mach



reply via email to

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