[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] Fix start in head.S
# HG changeset patch # User Alex Williamson <alex.williamson@xxxxxx> # Date 1200596743 25200 # Node ID d4abdf169a001f8252b6a79ab574ae1f4885e264 # Parent fb47d7f0d84b1b1fdb1ef344130e2b7cd4a6a09b [IA64] Fix start in head.S Later stack was allocated from domain heap, so that stack should be mapped if necessary. Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx> --- xen/arch/ia64/linux-xen/head.S | 25 +++++++++++++++++-------- 1 files changed, 17 insertions(+), 8 deletions(-) diff -r fb47d7f0d84b -r d4abdf169a00 xen/arch/ia64/linux-xen/head.S --- a/xen/arch/ia64/linux-xen/head.S Thu Jan 17 12:05:43 2008 -0700 +++ b/xen/arch/ia64/linux-xen/head.S Thu Jan 17 12:05:43 2008 -0700 @@ -331,11 +331,23 @@ 1: // now we are in virtual mode ;; tpa r3=r2 // r3 == phys addr of task struct mov r16=-1 +#ifdef XEN + ;; + dep r2=-1,r3,60,4 // IMVA of task + // XEN: check overlap with XENHEAP + mov r17=ip + ;; + tpa r17=r17 + ;; + dep r17=0,r17,0,KERNEL_TR_PAGE_SHIFT + dep r18=0,r3,0,KERNEL_TR_PAGE_SHIFT + ;; + cmp.eq p4,p0=r17,r18 +(p4) br.cond.dpnt .load_current +#else (isBP) br.cond.dpnt .load_current // BP stack is on region 5 --- no need to map it - -#ifndef XEN - // XEN: stack is allocated in xenheap, which is currently always - // mapped. +#endif + // load mapping for stack (virtaddr in r2, physaddr in r3) rsm psr.ic movl r17=PAGE_KERNEL @@ -344,9 +356,7 @@ 1: // now we are in virtual mode dep r18=0,r3,0,12 ;; or r18=r17,r18 -#ifdef XEN - dep r2=-1,r3,60,4 // IMVA of task -#else +#ifndef XEN dep r2=-1,r3,61,3 // IMVA of task #endif ;; @@ -364,7 +374,6 @@ 1: // now we are in virtual mode ;; ssm psr.ic srlz.d -#endif ;; .load_current: _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |