[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] 答复: [Xen-ia64-devel] Re: [PATCH 0/12] various fixes related the xenrelocation
Hi Kazuhiro, We are considering possibility to Xen-ia64 support to HP-UX. Obviously, the current Xen-ia64 supports Linux regarding of HP-UX is not open-sourced. Do you have any ideas about how to implement this kind of possibility? Change which parts or libs? Thanks in advance. -Yuzhong -----邮件原件----- 发件人: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx] 代表 SUZUKI Kazuhiro 发送时间: 2007年12月21日 18:05 收件人: yamahata@xxxxxxxxxxxxx 抄送: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx 主题: [Xen-ia64-devel] Re: [PATCH 0/12] various fixes related the xenrelocation Hi Isaku, > To be honest I didn't test the mca patch(). > Kazuhiro, Could you please review and test it? I tested this, but it caused system hang. I have some questions and comments as follows. > diff -r 8558c0017136 -r e532cad65b1c xen/arch/ia64/linux-xen/mca_asm.S > --- a/xen/arch/ia64/linux-xen/mca_asm.S Tue Dec 18 15:38:46 2007 +0900 > +++ b/xen/arch/ia64/linux-xen/mca_asm.S Thu Dec 20 14:53:49 2007 +0900 > @@ -479,14 +479,26 @@ ia64_reload_tr: > ;; > // 4. Reload DTR for stack. > #ifdef XEN > - // avoid overlapping with kernel TR > - movl r17=KERNEL_START > + // avoid overlapping with xenheap TR > + mov r17=ip > + ;; > + tpa r17=r17 It is necessary to delete this line, because ip contains physical address. > + ;; > + dep r17=0,r17,0,KERNEL_TR_PAGE_SHIFT > + ;; > + shr.u r17=r17,IA64_GRANULE_SHIFT > + ;; > GET_THIS_PADDR(r2,cpu_kr);; > add r2=IA64_KR_CURRENT_OFFSET,r2;; Is it IA64_KR_CURRENT_STACK_OFFSET? I think that [cpu_kr + IA64_KR_CURRENT_STACK_OFFSET] contains (physical address >> IA64_GRANULE_SHIFT). > ld8 r16=[r2];; > ;; > - dep r16=0,r16,0,KERNEL_TR_PAGE_SHIFT > - ;; > +#if KERNEL_TR_PAGE_SHIFT < IA64_GRANULE_SHIFT > +# error "KERNEL_TR_PAGE_SHIFT < IA64_GRANULE_SHIFT shouldn't happen" > +#endif > +#if KERNEL_TR_PAGE_SHIFT > IA64_GRANULE_SHIFT > + dep r16=0,r16,0,KERNEL_TR_PAGE_SHIFT-IA64_GRANULE_SHIFT > + ;; > +#endif > cmp.eq p7,p0=r17,r16 > (p7) br.cond.sptk .reload_vhpt > > @@ -522,6 +534,25 @@ ia64_reload_tr: > // 5. VHPT > #if VHPT_ENABLED > GET_VA_VCPU_VHPT_MADDR(r2,r3);; dep r2=0,r2,60,4;; This line should be inserted here, because GET_VA_VCPU_VHPT_MADDR(r2,r3) emulates the virtual address of vcpu_vhpt_maddr. > + dep r3=0,r2,0,KERNEL_TR_PAGE_SHIFT > + ;; > + shr.u r3=r3,IA64_GRANULE_SHIFT > + ;; > + cmp.eq p7,p0=r3,r17 > +(p7) br.cond.sptk .overlap_vhpt > + ;; > + > + // avoid overlapping with stack TR > + shr.u r17=r2,IA64_GRANULE_SHIFT > + GET_THIS_PADDR(r3, cpu_kr);; > + add r3=IA64_KR_CURRENT_STACK_OFFSET,r3 > + ;; > + ld8 r3=[r3] > + ;; > + cmp.eq p7,p0=r3,r17 > +(p7) br.cond.sptk .overlap_vhpt > + ;; > + > dep r16=0,r2,0,IA64_GRANULE_SHIFT > movl r20=PAGE_KERNEL > ;; > @@ -538,6 +569,7 @@ ia64_reload_tr: > ;; > srlz.d > ;; > +.overlap_vhpt: > #endif > #endif > br.sptk.many done_tlb_purge_and_reload I attached modified patch, and I confirmed this worked. Thanks. KAZ Signed-off-by: Kazuhiro Suzuki <kaz@xxxxxxxxxxxxxx> From: Isaku Yamahata <yamahata@xxxxxxxxxxxxx> Subject: [PATCH 0/12] various fixes related the xen relocation Date: Thu, 20 Dec 2007 16:37:04 +0900 > > When Xen was made relocatable, some code are broken. > This patch set addresses on it. > > I went little further. Some of the assembler functions related to > context switch maps stack, others doesn't. It isn't consistent. > So there were two choice for consistency. My choice is mapping stacks. > After that, it isn't necessary that stack is allocated from xenheap. > Allocate stack from domheap, thus memory pressure on xenheap was > reduced. > > To be honest I didn't test the mca patch(). > Kazuhiro, Could you please review and test it? > > thanks _______________________________________________ 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 |