[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v3 07/32] xen/x86: fix arch_set_info_guest for HVM guests
El 06/07/15 a les 14.58, Andrew Cooper ha escrit: > On 03/07/15 12:34, Roger Pau Monne wrote: >> Add checks for ignored vcpu fields in HVM mode. HVM vCPUs (BSP and APs) are >> always started in 32bit protected mode with paging disabled. >> >> Signed-off-by: Roger Pau Monnà <roger.pau@xxxxxxxxxx> >> Cc: Jan Beulich <jbeulich@xxxxxxxx> >> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> >> --- >> xen/arch/x86/domain.c | 14 +++++++++++--- >> 1 file changed, 11 insertions(+), 3 deletions(-) >> >> diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c >> index a8fe046..a112953 100644 >> --- a/xen/arch/x86/domain.c >> +++ b/xen/arch/x86/domain.c >> @@ -795,6 +795,15 @@ int arch_set_info_guest( >> c.nat->fs_base || c.nat->gs_base_user)) ) >> return -EINVAL; >> } >> + else if ( is_hvm_domain(d) ) >> + { >> + if ( c(ctrlreg[0]) || c(ctrlreg[1]) || c(ctrlreg[2]) || >> + c(ctrlreg[3]) || c(ctrlreg[4]) || c(ctrlreg[5]) || > > I am not sure that the cr0 and cr4 checks are sensible. While the new > ABI doesn't need them, there is nothing inherently wrong with setting > them via this interface. They will be ignored anyway, so I think the right thing to do is to notify the caller that setting CR4 and CR0 is not possible. IMHO this should be as limited as possible, and CR0/CR4 can be easily setup by the startup AP code in the guest. >> + c(ctrlreg[6]) || c(ctrlreg[7]) || c(ldt_base) || >> + c(ldt_ents) || c(kernel_ss) || c(kernel_sp) || >> + c(gdt_ents) ) >> + return -EINVAL; >> + } >> >> v->fpu_initialised = !!(flags & VGCF_I387_VALID); >> >> @@ -1064,15 +1073,14 @@ int arch_set_info_guest( >> if ( v->vcpu_id == 0 ) >> update_domain_wallclock_time(d); >> >> - /* Don't redo final setup */ >> - v->is_initialised = 1; >> - > > Is this a bugfix, or spurious movement? Since this hypercall was never used before with HVM guests we need to move the is_initialized setting to the "out" label, so it's also set for HVM guests (HVM guests jump to the out label after setting the user and debug registers). Roger. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |