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

答复: [Xen-ia64-devel] Re: [PATCH 0/12] various fixes related the xenreloc

To: "'SUZUKI Kazuhiro'" <kaz@xxxxxxxxxxxxxx>, <yamahata@xxxxxxxxxxxxx>
Subject: 答复: [Xen-ia64-devel] Re: [PATCH 0/12] various fixes related the xenrelocation
From: "Yuzhong Sun" <yuzhongsun@xxxxxxxxx>
Date: Sat, 22 Dec 2007 22:54:07 +0800
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Sat, 22 Dec 2007 06:54:31 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20071221.190441.64478845.kaz@xxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AchDuYF14A8v9NkkSlG0Jfg/vNKa9gA8BZug
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

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