Hi Isaku,
Thanks for your comments
This is updated one according to your comments except for belows.
>> +GLOBAL_ENTRY(ia64_leave_hypervisor_virt)
>> + PT_REGS_UNWIND_INFO(0)
>
> Is this correct? I'm just asking just to make it sure.
> To be honest I have to dig into the related specifications.
> But the register save/restore convention of VMX_VIRT_SAVE() is
> different from the one of DO_SAVE_MIN(). So some twist to
> the stack unwinder is necessary, isn't it?
Good catch, unwinder is not expected in fast path( show_register
doesn't work in thispath). So I simply remove it.
>> diff -r f2457c7aff8d xen/arch/ia64/vmx/vmx_phy_mode.c
>> --- a/xen/arch/ia64/vmx/vmx_phy_mode.c Fri Apr 25 20:13:52 2008
+0900
>> +++ b/xen/arch/ia64/vmx/vmx_phy_mode.c Thu May 08 16:23:42 2008
+0800
>> @@ -252,8 +252,8 @@ switch_mm_mode(VCPU *vcpu, IA64_PSR old_
>> switch_to_virtual_rid(vcpu);
>> break;
>> case SW_SELF:
>> - printk("Switch to self-0x%lx!!! MM mode doesn't
>> change...\n",
>> - old_psr.val);
>> +// printk("Switch to self-0x%lx!!! MM mode doesn't
>> change...\n", +// old_psr.val); break;
>> case SW_NOP:
>> // printk("No action required for mode transition: (0x%lx ->
>> 0x%lx)\n",
>
> What's the purpose here.
> Anyway if you want this part, please create another patch.
>
Switch_mm_mode is called in fast path, since printk accesses PIO, it may
trigger TLB fault, which can't be handled in fast path, due to psr.ic=0.
Thanks,
Anthony
20080509.patch
Description: 20080509.patch
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|