[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-ia64-devel]Question about priv_ptc_e



Le Vendredi 10 Mars 2006 07:06, Xu, Anthony a écrit :
> Dan,
> Why is ptc_e emulated as fc when gr is larger than 63?
>
> IA64FAULT priv_ptc_e(VCPU *vcpu, INST64 inst)
> {
>       UINT src = inst.M28.r3;
>
>       // NOTE: ptc_e with source gr > 63 is emulated as a fc r(y-64)
>       if (src > 63) return(vcpu_fc(vcpu,vcpu_get_gr(vcpu,src - 64)));
>       return vcpu_ptc_e(vcpu,vcpu_get_gr(vcpu,src));
> }
This is the way fc is privatized.
You need to privatize fc because its semantic is different in CPL0 and CPL != 
0.  You couldn't use a break (at least during the privatize area), so Dan 
used a priv op with special registers.

Maybe this area is over and this could be now cleaned.

Tristan.


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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.