>>> On 16.11.16 at 13:31, <andrew.coop...@citrix.com> wrote: > @@ -961,13 +962,38 @@ int cpuid_hypervisor_leaves( uint32_t idx, uint32_t > sub_idx, > } > break; > > - case 4: > - if ( !has_hvm_container_domain(currd) ) > + case 4: /* HVM hypervisor leaf. */ > + if ( !has_hvm_container_domain(currd) || sub_idx != 0 ) > { > *eax = *ebx = *ecx = *edx = 0;
I think you want to pull this ahead of the if(), to match previous behavior (discarding any guest config overrides). Otherwise ... > break; > } > - hvm_hypervisor_cpuid_leaf(sub_idx, eax, ebx, ecx, edx); > + > + if ( cpu_has_vmx_apic_reg_virt ) > + *eax |= XEN_HVM_CPUID_APIC_ACCESS_VIRT; ... you may end up not or-ing into a zero initial value here. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel