Fields of anonymous structs/unions may not be part of an initializer for
rather old gcc (4.6 and earlier).
Fixes: 49a068471d77 ("x86/fpu: Rework fpu_setup_fpu() uses to split it in two")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
{
v->fpu_initialised = false;
*v->arch.xsave_area = (struct xsave_struct) {
- .fpu_sse = {
- .mxcsr = MXCSR_DEFAULT,
- .fcw = FCW_RESET,
- .ftw = FXSAVE_FTW_RESET,
- },
.xsave_hdr.xstate_bv = X86_XCR0_X87,
};
+
+ /* Old gcc doesn't permit these to be part of the initializer. */
+ v->arch.xsave_area->fpu_sse.mxcsr = MXCSR_DEFAULT;
+ v->arch.xsave_area->fpu_sse.fcw = FCW_RESET;
+ v->arch.xsave_area->fpu_sse.ftw = FXSAVE_FTW_RESET;
}
void vcpu_setup_fpu(struct vcpu *v, const void *data)