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