[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Mach branch, master, updated. v1.8-227-g231bd7f,
Samuel Thibault <=