[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-ia64-devel] [PATCH] implemented vcpu_ptc_l()
Hi Yamahata-san -- I think it is necessary to also purge the VHPT. Dan > -----Original Message----- > From: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx > [mailto:xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf > Of Isaku Yamahata > Sent: Monday, December 05, 2005 8:21 PM > To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx > Subject: [Xen-ia64-devel] [PATCH] implemented vcpu_ptc_l() > > > Hi. > I implemented vcpu_ptc_l() which is needed to boot dom0 on ski. > Is there any reason why it hasn't been implemented? > I didn't see difficulties to implement it. Do I miss anything? > > Signed-off-by Isaku Yamahata <yamahata@xxxxxxxxxxxxx> > > -- > diff -r c4a86ad93e49 xen/arch/ia64/linux-xen/tlb.c > --- a/xen/arch/ia64/linux-xen/tlb.c Thu Dec 1 18:21:59 2005 +0900 > +++ b/xen/arch/ia64/linux-xen/tlb.c Tue Dec 6 12:13:48 2005 +0900 > @@ -110,6 +110,15 @@ > } > > void > +ia64_local_tlb_purge (unsigned long start, unsigned long > end, unsigned long nbits) > +{ > + do { > + ia64_ptcl(start, (nbits << 2)); > + start += (1UL << nbits); > + } while (start < end); > +} > + > +void > local_flush_tlb_all (void) > { > unsigned long i, j, flags, count0, count1, stride0, > stride1, addr; > diff -r c4a86ad93e49 xen/arch/ia64/xen/vcpu.c > --- a/xen/arch/ia64/xen/vcpu.c Thu Dec 1 18:21:59 2005 +0900 > +++ b/xen/arch/ia64/xen/vcpu.c Tue Dec 6 12:13:48 2005 +0900 > @@ -1827,8 +1827,20 @@ > > IA64FAULT vcpu_ptc_l(VCPU *vcpu, UINT64 vadr, UINT64 addr_range) > { > - printk("vcpu_ptc_l: called, not implemented yet\n"); > - return IA64_ILLOP_FAULT; > + extern void ia64_local_tlb_purge (unsigned long start, > unsigned long end, unsigned long nbits); > + > + //XXX FIXME: validate not flushing Xen addresses > + if (IS_VMM_ADDRESS(vadr)) { > + return IA64_ILLOP_FAULT; > + } > + > +#ifdef VHPT_GLOBAL > + vhpt_flush_address(vadr, addr_range); > +#endif > + ia64_local_tlb_purge(vadr, vadr + addr_range, PAGE_SHIFT); > + vcpu_purge_tr_entry(&PSCBX(vcpu,dtlb)); > + vcpu_purge_tr_entry(&PSCBX(vcpu,itlb)); > + return IA64_NO_FAULT; > } > > // At privlvl=0, fc performs no access rights or protection > key checks, while > > > > -- > yamahata > > _______________________________________________ > Xen-ia64-devel mailing list > Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-ia64-devel > _______________________________________________ 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 |