summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2025-04-20 15:22:31 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2025-04-20 15:22:31 +0200
commit661a4e5f793c7cd90fd0b90e7430fa8ed6f17e70 (patch)
tree798b3c093c502eab23163907d6d7d1c81fd83d31
parentb865fe917090293dc6035c26788c4ccd13bb8d38 (diff)
fpu_get/set_state: Do not convert tag between fxsr and i387
i386_XFLOAT_STATE does expect fxsr tag.
-rw-r--r--i386/i386/fpu.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/i386/i386/fpu.c b/i386/i386/fpu.c
index 71c6cdd8..18440ad0 100644
--- a/i386/i386/fpu.c
+++ b/i386/i386/fpu.c
@@ -485,7 +485,7 @@ ASSERT_IPL(SPL0);
struct i386_xfp_save *user_fp_state = (struct i386_xfp_save *) &xfstate->hw_state[0];
ifps->xfp_save_state.fp_control = user_fp_state->fp_control;
ifps->xfp_save_state.fp_status = user_fp_state->fp_status;
- ifps->xfp_save_state.fp_tag = twd_i387_to_fxsr(user_fp_state->fp_tag);
+ ifps->xfp_save_state.fp_tag = user_fp_state->fp_tag;
ifps->xfp_save_state.fp_eip = user_fp_state->fp_eip;
ifps->xfp_save_state.fp_cs = user_fp_state->fp_cs;
ifps->xfp_save_state.fp_opcode = user_fp_state->fp_opcode;
@@ -618,7 +618,7 @@ ASSERT_IPL(SPL0);
user_fp_state->fp_control = ifps->xfp_save_state.fp_control;
user_fp_state->fp_status = ifps->xfp_save_state.fp_status;
- user_fp_state->fp_tag = twd_fxsr_to_i387(&ifps->xfp_save_state);
+ user_fp_state->fp_tag = ifps->xfp_save_state.fp_tag;
user_fp_state->fp_eip = ifps->xfp_save_state.fp_eip;
user_fp_state->fp_cs = ifps->xfp_save_state.fp_cs;
user_fp_state->fp_opcode = ifps->xfp_save_state.fp_opcode;