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

Re: [Xen-ia64-devel] [PATCH] fix INIT injection

On Wed, Sep 17, 2008 at 05:36:57PM +0900, Kouya Shimura wrote:
Content-Description: message body text
> Isaku Yamahata writes:
> > > +        /* Switch to physical mode when injecting PAL_INIT */
> > > +        if (MODE_IND(new_psr) == 0 &&
> > > +            vcpu_regs(vcpu)->cr_iip == PAL_INIT_ENTRY) {
> > > +            vcpu->arch.arch_vmx.mmu_mode = VMX_MMU_PHY_DT;
> > > +            switch_to_physical_rid(vcpu);
> > > +            break;
> > > +        }
> > >          /* Sanity check */
> > >          panic_domain(vcpu_regs(vcpu),
> > >                       "Unexpected virtual <--> physical mode transition, "
> > 
> > I think this hunk corresponds to what you meant by 'Unexpected virtual'.
> > Why not set mm_switch_table[][0] to SW_2P_DT? any reason?
> 
> Well, INIT is a exceptional case. Guest OS by itself never do such
> state transitions and it should be checked, I think.
> 
> But I've found a bug in the previous patch.
> INIT injecttion doesn't work on psr.it=0,dt=1,rt=1 because
> mm_switch_table[][0] is SW_NOP.

Hi.
Although I committed the patch, I reconsidered on this.
What prevents from setting mm_switch_table[][0] to SW_2P_DT?
Even if guest OS never does state transitions, its state is
deterministic. So I don't get your point.
If setting the them to SW_2P_DT causes problems, shouldn't we fix
them?

thanks,
-- 
yamahata

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