On Fri, Dec 05, 2008 at 02:36:25PM +0800, Zhang, Xiantao wrote:
> Isaku Yamahata wrote:
> > For those who want to test it, here is the slightly update patch.
> > NOTE: this version doesn't solve the potential infinite loop
> >       which Alex is suspecting about.
> > 
> > IA64: fix emulation of fp emulation
> > 
> > This patch fixes bug reported as
> > http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1392
> > 
> > When pv domain case, FPSWA hypercall isn't implemented properly.
> > So avoid the injecting floating point fault/trap at this moment.
> > However this may cause infinite loop depending on dtlb cache.
> > The right fix is to implement the hypercall properly however
> > it wouldn't be very straight forward because the argument
> > of fpswa is large and includes pointers.
> > 
> > When hvm domain case, floating point trap case iip was incremented
> > improperly. removed the increment
> > 
> > Signed-off-by: Isaku Yamahata <[EMAIL PROTECTED]>
> > 
> > diff --git a/xen/arch/ia64/vmx/vmx_fault.c
> > b/xen/arch/ia64/vmx/vmx_fault.c --- a/xen/arch/ia64/vmx/vmx_fault.c
> > +++ b/xen/arch/ia64/vmx/vmx_fault.c
> > @@ -130,10 +130,8 @@ void vmx_reflect_interruption(u64 ifa, u
> >          status = handle_fpu_swa(0, regs, isr);
> >          if (!status)
> >              return;
> > -        else if (IA64_RETRY == status) {
> > -            vcpu_decrement_iip(vcpu);
> > +        else if (IA64_RETRY == status)
> >              return;
> > -        }
> >          break;
> > 
> >      case 29: // IA64_DEBUG_VECTOR
> 
> Hi, Isaku
>    Why do you think the decrement is useless ? For trap case, the iip should 
> point to the next instruction instead of the one which results in the trap. 
> So once need retry, the iip should be back to the privious one ?  

Ouch, you are correct.
When I compared the handler with Linux one, I was confused.

thanks,
-- 
yamahata

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@lists.xensource.com
http://lists.xensource.com/xen-ia64-devel

Reply via email to