[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-ia64-devel] [patch 06/12] ia64: kexec: Repining for EFI RID
On Thu, Mar 20, 2008 at 05:52:54PM +1100, Simon Horman wrote: > Index: xen-unstable.hg/xen/arch/ia64/xen/xenasm.S > =================================================================== > --- xen-unstable.hg.orig/xen/arch/ia64/xen/xenasm.S 2008-04-22 > 11:24:46.000000000 +1000 > +++ xen-unstable.hg/xen/arch/ia64/xen/xenasm.S 2008-04-22 > 16:56:00.000000000 +1000 > @@ -195,6 +195,193 @@ GLOBAL_ENTRY(ia64_new_rr7) ... > +GLOBAL_ENTRY(ia64_new_rr7_efi) ... > + // privregs / mapped_regs > + cmp.eq p7,p0=r0,in2 > +(p7) br.cond.sptk ia64_new_rr7_efi_privregs_not_mapped > + or loc7 = r26,loc7 // construct PA | page properties > + mov r22=IA64_TR_VPD > + mov r24=IA64_TR_MAPPED_REGS > + mov r23=IA64_GRANULE_SHIFT<<2 > + ;; > + ptr.i in2,r23 > + ;; > + srlz.i > + ;; > + mov cr.itir=r23 > + mov cr.ifa=in2 > + ;; > + itr.i itr[r22]=loc7 > + ;; > + srlz.i > +ia64_new_rr7_efi_privregs_not_mapped: VPD must be pinned not only by itr[], but also dtr[] too. SDM 2.2 vol2 says that VPD must be pinned down by both ITR and DTR. See the pal call section, PAL_VP_REGISTER, PAL_VP_RESTORE, PAL_VP_SAVE, PAL_VPS_RESTORE, PAL_VPS_SAVE. It's very unintuitive to pin down by ITR. And I think ia64_do_tlb_purge() have to purge not only dtr[], but also itr[IA64_TR_VPD]. -- yamahata _______________________________________________ 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 |