|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|