Barry deFreese, le Thu 21 Dec 2006 00:17:34 -0500, a écrit : > I apologize for keep going on about this but I still don't quite > understand why a seperate struct is needed for i386_fp_regs.
I told you: this permits to easily do what is written in fpu.c: /* * Ensure that reserved parts of the environment are 0. */ memset(user_fp_state, 0, sizeof(struct i386_fp_save)); user_fp_state->fp_control = ifps->fp_save_state.fp_control; user_fp_state->fp_status = ifps->fp_save_state.fp_status; user_fp_state->fp_tag = ifps->fp_save_state.fp_tag; user_fp_state->fp_eip = ifps->fp_save_state.fp_eip; user_fp_state->fp_cs = ifps->fp_save_state.fp_cs; user_fp_state->fp_opcode = ifps->fp_save_state.fp_opcode; user_fp_state->fp_dp = ifps->fp_save_state.fp_dp; user_fp_state->fp_ds = ifps->fp_save_state.fp_ds; *user_fp_regs = ifps->fp_regs; With separate structs, the last line can be written that way, allowing the compiler to optimize the copy. For getting the same result without separate structs, we'd have to call an ugly explicit memcpy(). Samuel _______________________________________________ Bug-hurd mailing list Bug-hurd@gnu.org http://lists.gnu.org/mailman/listinfo/bug-hurd