On Wed, May 31, 2017 at 07:01:29AM -0400, Paolo Bonzini wrote: > > + size = offsetof(struct fxregs_state, xmm_space[16]); > This still has the same issue (it should be multiplied by 4). I'm still misunderstanding the math here. Why multiplied by four, in this case? 8 * 16 / 4 is used in other cases. Also, previously Radim wrote: >> + size = offsetof(struct fxregs_state, xmm_space[8]); > This should be the size of first 8 XMM registers, but xmm_space is of > type u32, so the correct size is > xmm_space[8 * 16/sizeof(*fx_state.xmm_space)]. So I think my calculation is off in xmm_offset still? Can we make use of well-named variables, in place of these constants? Otherwise the math is hard to follow. > Thanks Nick for the patches and Radim for the reviews! > Paolo Thanks for the code review!