On 2020/2/24 下午8:43, Paolo Bonzini wrote: > On 22/02/20 13:25, Chen Gang wrote: >> On 2020/2/22 下午3:37, Paolo Bonzini wrote: >>> On 22/02/20 03:10, Chen Gang wrote: >>>> Set C1 to 1 if stack overflow occurred; set to 0 otherwise". >>>> >>>> In helper_fxam_ST0, I guess, we need "env->fpus |= 0x200" (but I don't >>>> know wheter it will be conflict with SIGND(temp)). And we have to still >>>> need foverflow, because all env->fptags being 0 doesn't mean overflow. >>> >>> No, you need to add "env->fpus |= 0x200" and "env->fpus &= ~0x200" >>> directly to fpush, fpop, etc. >>> >> >> OK. The content below is my next TODO, welcome your opinions. >> >> When overflow occurs, for me, we need keep everything no touch except >> set C1 flag. > > No, push will overwrite the top entry if there is overflow. > >> In fxam, we don't clear C1, but keep no touch for clearning >> C1 in another places. > > FXAM is neither push nor pop, it just detects an empty slot via fptags. > FXAM should be okay with my patch. >
OK. I am not quite clear about it, but it fixes the current issues at least. Please apply your patch. Thanks.