debuggers.hg
changeset 16854:d4abdf169a00
[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@valinux.co.jp>
Later stack was allocated from domain heap, so that stack should be
mapped if necessary.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
author | Alex Williamson <alex.williamson@hp.com> |
---|---|
date | Thu Jan 17 12:05:43 2008 -0700 (2008-01-17) |
parents | fb47d7f0d84b |
children | fd56e24b07c8 |
files | xen/arch/ia64/linux-xen/head.S |
line diff
1.1 --- a/xen/arch/ia64/linux-xen/head.S Thu Jan 17 12:05:43 2008 -0700 1.2 +++ b/xen/arch/ia64/linux-xen/head.S Thu Jan 17 12:05:43 2008 -0700 1.3 @@ -331,11 +331,23 @@ 1: // now we are in virtual mode 1.4 ;; 1.5 tpa r3=r2 // r3 == phys addr of task struct 1.6 mov r16=-1 1.7 +#ifdef XEN 1.8 + ;; 1.9 + dep r2=-1,r3,60,4 // IMVA of task 1.10 + // XEN: check overlap with XENHEAP 1.11 + mov r17=ip 1.12 + ;; 1.13 + tpa r17=r17 1.14 + ;; 1.15 + dep r17=0,r17,0,KERNEL_TR_PAGE_SHIFT 1.16 + dep r18=0,r3,0,KERNEL_TR_PAGE_SHIFT 1.17 + ;; 1.18 + cmp.eq p4,p0=r17,r18 1.19 +(p4) br.cond.dpnt .load_current 1.20 +#else 1.21 (isBP) br.cond.dpnt .load_current // BP stack is on region 5 --- no need to map it 1.22 +#endif 1.23 1.24 -#ifndef XEN 1.25 - // XEN: stack is allocated in xenheap, which is currently always 1.26 - // mapped. 1.27 // load mapping for stack (virtaddr in r2, physaddr in r3) 1.28 rsm psr.ic 1.29 movl r17=PAGE_KERNEL 1.30 @@ -344,9 +356,7 @@ 1: // now we are in virtual mode 1.31 dep r18=0,r3,0,12 1.32 ;; 1.33 or r18=r17,r18 1.34 -#ifdef XEN 1.35 - dep r2=-1,r3,60,4 // IMVA of task 1.36 -#else 1.37 +#ifndef XEN 1.38 dep r2=-1,r3,61,3 // IMVA of task 1.39 #endif 1.40 ;; 1.41 @@ -364,7 +374,6 @@ 1: // now we are in virtual mode 1.42 ;; 1.43 ssm psr.ic 1.44 srlz.d 1.45 -#endif 1.46 ;; 1.47 1.48 .load_current: