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

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


 


Rackspace

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