[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-ia64-devel] PATCH: rewrite vcpu_get_psr
>>I have to re-read Dan's paper and linux code, but in PV mode we only correctly >>support IT=DT=RT. >> >>(the same should be true for VTi BTW and incidently we can >>easily write OS which cannot be virtualized by VTi!) You are right in some degree. As I mentioned > >Vpsr.it=rt=0, vpsr.dt=1, this happens at the very beginning of windows boot. At this moment, code is running in region 0, data is also in region 0 and we use region 0 to emulate guest physical mode VMM can't handle this situation if window doesn't use identical-identity mapping for DTLB. (identical-identity mapping refers to, for example 0x10000 is mapped to 0x10000) Thanks, Anthony >From: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx >[mailto:xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Xu, Anthony >Sent: 2007å5æ11æ 17:27 >To: tgingold@xxxxxxx >Cc: Xen-ia64-devel >Subject: RE: [Xen-ia64-devel] PATCH: rewrite vcpu_get_psr > >>From: tgingold@xxxxxxx [mailto:tgingold@xxxxxxx] >>Sent: 2007å5æ11æ 16:18 >>To: Xu, Anthony >>Cc: Xen-ia64-devel >>Subject: RE: [Xen-ia64-devel] PATCH: rewrite vcpu_get_psr >> >>Quoting "Xu, Anthony" <anthony.xu@xxxxxxxxx>: >> >>> >Tristan Gingold >>> >Sent: 2007ÃÃ5ÃÃ11ÃÃ 13:23 >>> >To: Alex Williamson >>> >Cc: Xen-ia64-devel >>> >Subject: Re: [Xen-ia64-devel] PATCH: rewrite vcpu_get_psr >>> > >>> >> Unfortunately... >>> >It's a little bit puzzling. I didn't think the performace of mov =psr.l >was >>> >to important! >>> >>> >>> >>> + >>> + if (!PSCB(vcpu, metaphysical_mode)) >>> + newpsr.i64 |= IA64_PSR_DT | IA64_PSR_RT | IA64_PSR_IT; >>> >>> - if (PSCB(vcpu, metaphysical_mode)) >>> - newpsr.dt = 0; >>> >>> Above old code would be translated to >>> if (PSCB(vcpu, metaphysical_mode)) >>> newpsr.i64 &= ~IA64_PSR_DT; >>I seriously think the old code was wrong (more precisely incorrect). >> >>I have to re-read Dan's paper and linux code, but in PV mode we only correctly >>support IT=DT=RT. >> >>(the same should be true for VTi BTW and incidently we can >>easily write OS which cannot be virtualized by VTi!) > >Machine psr dt it rt are always 1. >While this code segment is used to emulate guest execution of "mov from psr" >From the view of guest OS, vpsr dt it rt can be any value. > >In xenodomaim, >There are only two situations. >Virtual mode; vpsr.it=dt=rt=1. >Physical mode: vpsr.dt=0, vpsr.it=vpsr.rt=1, which happens in linux OS tlb >fault >related handlers. > >In vti-domain. >We support more situations except for above two. > >Vpsr.it=dt=rt=0, this happens when guest calls PAL call, which can be called >only >in physical mode. > >Vpsr.it=rt=0, vpsr.dt=1, this happens at the very beginning of windows boot. > > > >-Anthony > > _______________________________________________ Xen-ia64-devel mailing list Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ia64-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |