[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-ia64-devel] [patch 03/12] ia64: kexec: Unpin the correct VHPT TR in ia64_do_tlb_purge



On Thu, May 08, 2008 at 04:15:03PM +0900, Isaku Yamahata wrote:
> On Thu, May 08, 2008 at 08:57:28AM +1000, Simon Horman wrote:
> > On Wed, May 07, 2008 at 05:31:21PM +0900, Isaku Yamahata wrote:
> > > Hi Simon-san.
> > > I guess that this patch isn't copmiled as inteneded.
> > > With the VHPT_ENABLED patch which make sure VHPT_ENABLED always
> > > defined to 1 or 0, I got compilation errors.
> > > 
> > > 
> > > [IA64] compilation fix with VHPT_ENABLED=1
> > > 
> > > Enabling VHPT_ENABLED=1 results in compilation error in vmx_phy_mode.c
> > > and vmx_vcpu.c. This patch fixes them.
> > > vmx_phy_mode.c: In function 'vmx_load_all_rr':
> > > vmx_phy_mode.c:175: warning: implicit declaration of function 
> > > 'vcpu_vhpt_maddr'
> > > vmx_phy_mode.c:175: error: 'v' undeclared (first use in this function)
> > > vmx_phy_mode.c:175: error: (Each undeclared identifier is reported only 
> > > once
> > > vmx_phy_mode.c:175: error: for each function it appears in.)
> > > PATCHNAME: compilation_fix_with_vhpt_enabled
> > > 
> > > Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
> > 
> > Thanks Yamahata-san,
> > 
> > that looks correct to me. I have a related fix to the same code which
> > alters the value that is tracked. Do you think this is correct:
> 
> The patch itself looks correct.
> 
> Related to the patch, do you mean that another #if VHPT_ENABLED in
> xen/arch/ia64/linux-xen/mca_asm.S should be removed and that 
> the around code should be patched somehow?

I suspect that your change below is correct. But I am not competely
sure. I'll try testing it a bit and see if anything good/bad happens.

> diff -r 07e367fbd2b2 xen/arch/ia64/linux-xen/mca_asm.S
> --- a/xen/arch/ia64/linux-xen/mca_asm.S Wed May 07 17:14:08 2008 +0900
> +++ b/xen/arch/ia64/linux-xen/mca_asm.S Thu May 08 16:06:12 2008 +0900
> @@ -519,8 +488,9 @@
>  #ifdef XEN
>  .reload_vhpt:
>         // 5. VHPT
> -#if VHPT_ENABLED
> -       GET_VA_VCPU_VHPT_MADDR(r2,r3);;
> +       GET_THIS_PADDR(r1, inserted_vhpt);; 
> +       cmp.eq p7,p0=r2,r0
> +(p7)   br.cond.sptk    .overlap_vhpt   // vhpt isn't mapped.
>  
>         // avoid overlapping with stack TR
>         shr.u r17=r2,IA64_GRANULE_SHIFT
> @@ -550,7 +520,6 @@
>         srlz.d
>         ;;
>  .overlap_vhpt:
> -#endif
>  #endif
>         br.sptk.many done_tlb_purge_and_reload
>  err:

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.