WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

Re: [Xen-ia64-devel] [patch 06/12] ia64: kexec: Repining for EFI RID

On Fri, Apr 25, 2008 at 11:30:57AM +1000, 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-25 
> 11:17:22.000000000 +1000
> +++ xen-unstable.hg/xen/arch/ia64/xen/xenasm.S        2008-04-25 
> 11:18:36.000000000 +1000
> @@ -195,6 +195,175 @@ GLOBAL_ENTRY(ia64_new_rr7)
...
> +GLOBAL_ENTRY(ia64_new_rr7_efi)
...
> +     // re-pin mappings for kernel text and data
> +     mov r24=KERNEL_TR_PAGE_SHIFT<<2
> +     movl r17=KERNEL_START
> +     ;;
> +     ptr.i   r17,r24
> +     ;;
> +     ptr.d   r17,r24
> +     ;;
> +     srlz.i
> +     ;;
> +     srlz.d
> +     ;;
> +     mov r16=IA64_TR_KERNEL
> +     mov cr.itir=r24
> +     mov cr.ifa=r17
> +     or r18=loc6,r26
> +     ;;
> +     itr.i itr[r16]=r18
> +     ;;
> +     itr.d dtr[r16]=r18
> +     ;;
> +     srlz.i
> +     ;;
> +     srlz.d
> +     ;;
> +
> +     // re-pin mappings for stack (current)
> +
> +     // unless overlaps with KERNEL_TR
> +     dep r18=0,r13,0,KERNEL_TR_PAGE_SHIFT
> +     ;;
> +     cmp.eq p7,p0=r17,r18
> +(p7) br.cond.sptk ia64_new_rr7_efi_stack_overlaps
> +     mov r25=IA64_GRANULE_SHIFT<<2
> +     dep r21=0,r13,60,4              // physical address of "current"
> +     ;;
> +     ptr.d   r13,r25
> +     ;;
> +     srlz.d
> +     ;;
> +     or r23=r21,r26                  // construct PA | page properties
> +     mov cr.itir=r25
> +     mov cr.ifa=r13                  // VA of next task...
> +     mov r21=IA64_TR_CURRENT_STACK
> +     ;;
> +     itr.d dtr[r21]=r23              // wire in new mapping...
> +     ;;
> +     srlz.d
> +     ;;
> +ia64_new_rr7_efi_stack_overlaps:

Now the text area starts at KERNEL_START = 0xa000000100000000
which is out of the xen identity mapping area.
The above overlapping check always fails so that the check
is unnecessary.
Please check the current ia64_new_rr7() which was chenged
rather recently.

-- 
yamahata

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

<Prev in Thread] Current Thread [Next in Thread>