[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH RFC 20/31] x86: Improvements to in-hypervisor cpuid sanity checks



>>> On 16.12.15 at 22:24, <andrew.cooper3@xxxxxxxxxx> wrote:
> @@ -864,69 +865,27 @@ void pv_cpuid(struct cpu_user_regs *regs)
>  
>      cpuid_count(a, c, &a, &b, &c, &d);
>  
> -    if ( (regs->eax & 0x7fffffff) == 0x00000001 )
> -    {
> -        /* Modify Feature Information. */
> -        if ( !cpu_has_apic )
> -            __clear_bit(X86_FEATURE_APIC, &d);
> -
> -        if ( !is_pvh_domain(currd) )
> -        {
> -            __clear_bit(X86_FEATURE_PSE, &d);
> -            __clear_bit(X86_FEATURE_PGE, &d);
> -            __clear_bit(X86_FEATURE_PSE36, &d);
> -            __clear_bit(X86_FEATURE_VME, &d);
> -        }
> -    }

This I understand goes away because pv_featureset[] never has
those set?

>      case 0x80000001:
> -        /* Modify Feature Information. */
> -        if ( is_pv_32bit_domain(currd) )
> -        {
> -            __clear_bit(X86_FEATURE_LM % 32, &d);
> -            __clear_bit(X86_FEATURE_LAHF_LM % 32, &c);
> -        }
> -        if ( is_pv_32bit_domain(currd) &&
> -             boot_cpu_data.x86_vendor != X86_VENDOR_AMD )
> -            __clear_bit(X86_FEATURE_SYSCALL % 32, &d);

But what about these 32-bit specific removals?

Overall this of course makes things quite a bit more readable.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.