mirror of https://github.com/xemu-project/xemu.git
target/i386: Add rbfm argument to cpu_x86_{xsave,xrstor}
For now, continue to pass all 1's from signal.c. Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
a8f68831c6
commit
a2d64d61c1
|
@ -268,7 +268,7 @@ static void xsave_sigcontext(CPUX86State *env, struct target_fpstate_fxsave *fxs
|
|||
|
||||
/* Zero the header, XSAVE *adds* features to an existing save state. */
|
||||
memset(fxsave->xfeatures, 0, 64);
|
||||
cpu_x86_xsave(env, fxsave_addr);
|
||||
cpu_x86_xsave(env, fxsave_addr, -1);
|
||||
__put_user(TARGET_FP_XSTATE_MAGIC1, &fxsave->sw_reserved.magic1);
|
||||
__put_user(extended_size, &fxsave->sw_reserved.extended_size);
|
||||
__put_user(env->xcr0, &fxsave->sw_reserved.xfeatures);
|
||||
|
@ -569,7 +569,7 @@ static int xrstor_sigcontext(CPUX86State *env, struct target_fpstate_fxsave *fxs
|
|||
return 1;
|
||||
}
|
||||
if (tswapl(*(uint32_t *) &fxsave->xfeatures[xfeatures_size]) == TARGET_FP_XSTATE_MAGIC2) {
|
||||
cpu_x86_xrstor(env, fxsave_addr);
|
||||
cpu_x86_xrstor(env, fxsave_addr, -1);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2262,8 +2262,8 @@ void cpu_x86_fsave(CPUX86State *s, target_ulong ptr, int data32);
|
|||
void cpu_x86_frstor(CPUX86State *s, target_ulong ptr, int data32);
|
||||
void cpu_x86_fxsave(CPUX86State *s, target_ulong ptr);
|
||||
void cpu_x86_fxrstor(CPUX86State *s, target_ulong ptr);
|
||||
void cpu_x86_xsave(CPUX86State *s, target_ulong ptr);
|
||||
void cpu_x86_xrstor(CPUX86State *s, target_ulong ptr);
|
||||
void cpu_x86_xsave(CPUX86State *s, target_ulong ptr, uint64_t rbfm);
|
||||
void cpu_x86_xrstor(CPUX86State *s, target_ulong ptr, uint64_t rbfm);
|
||||
|
||||
/* cpu.c */
|
||||
void x86_cpu_vendor_words2str(char *dst, uint32_t vendor1,
|
||||
|
|
|
@ -3047,14 +3047,14 @@ void cpu_x86_fxrstor(CPUX86State *env, target_ulong ptr)
|
|||
do_fxrstor(&ac, ptr);
|
||||
}
|
||||
|
||||
void cpu_x86_xsave(CPUX86State *env, target_ulong ptr)
|
||||
void cpu_x86_xsave(CPUX86State *env, target_ulong ptr, uint64_t rfbm)
|
||||
{
|
||||
do_xsave(env, ptr, -1, get_xinuse(env), -1, 0);
|
||||
do_xsave(env, ptr, rfbm, get_xinuse(env), -1, 0);
|
||||
}
|
||||
|
||||
void cpu_x86_xrstor(CPUX86State *env, target_ulong ptr)
|
||||
void cpu_x86_xrstor(CPUX86State *env, target_ulong ptr, uint64_t rfbm)
|
||||
{
|
||||
do_xrstor(env, ptr, -1, 0);
|
||||
do_xrstor(env, ptr, rfbm, 0);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue