Merged to master at 7c8ddb988fa3..38c562ab183a (from, to] You can see the entire diff with 'git diff' or at https://github.com/brho/akaros/compare/7c8ddb988fa3...38c562ab183a
On 2016-04-07 at 11:12 Michael Taufen <[email protected]> wrote: > LGTM > > On Thursday, April 7, 2016 at 11:09:25 AM UTC-7, Barret Rhoden wrote: > > > > We weren't passing the right xcr0. Who knows what we were > > passing. This caused the FP state to be partially restored. > > > > Whenever we migrated a thread/VM between pcores, we wouldn't get > > all of the new > > FP state, such as having bad xmms. We often would see parts of the > > correct FP > > state from previous residents of the core, and the xmms were > > probably clobbered > > by another thread calling into glibc for e.g. memset(). > > > > Signed-off-by: Barret Rhoden <[email protected] <javascript:>> > > --- > > https://www.youtube.com/watch?v=HeKx6EuMZWM > > user/parlib/include/parlib/x86/arch.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/user/parlib/include/parlib/x86/arch.h > > b/user/parlib/include/parlib/x86/arch.h > > index 58b2e4ec77f4..3866189fe7b2 100644 > > --- a/user/parlib/include/parlib/x86/arch.h > > +++ b/user/parlib/include/parlib/x86/arch.h > > @@ -155,7 +155,7 @@ static inline void restore_fp_state(struct > > ancillary_state *silly) > > if (cpu_has_feat(CPU_FEAT_X86_XSAVE)) { > > edx = x86_default_xcr0 >> 32; > > eax = x86_default_xcr0; > > - asm volatile("xrstor64 %0" : : "m"(*silly)); > > + asm volatile("xrstor64 %0" : : "m"(*silly), > > "a"(eax), "d"(edx)); > > } else { > > asm volatile("fxrstor64 %0" : : "m"(*silly)); > > } > > -- > > 2.8.0.rc3.226.g39d4020 > > > > > -- You received this message because you are subscribed to the Google Groups "Akaros" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. For more options, visit https://groups.google.com/d/optout.
