svn commit: r343166 - head/sys/amd64/vmm

Rodney W. Grimes freebsd at pdx.rh.CN85.dnsmgr.net
Sat Jan 19 01:08:52 UTC 2019


> Author: cem
> Date: Fri Jan 18 23:54:51 2019
> New Revision: 343166
> URL: https://svnweb.freebsd.org/changeset/base/343166
> 
> Log:
>   vmm(4): Mask Spectre feature bits on AMD hosts
>   
>   For parity with Intel hosts, which already mask out the CPUID feature
>   bits that indicate the presence of the SPEC_CTRL MSR, do the same on
>   AMD.
>   
>   Eventually we may want to have a better support story for guests, but
>   for now, limit the damage of incorrectly indicating an MSR we do not yet
>   support.
>   
>   Eventually, we may want a generic CPUID override system for
>   administrators, or for minimum supported feature set in heterogenous
>   environments with failover.  That is a much larger scope effort than
>   this bug fix.

This area has a MAINTAINERS line, could you please respect it.

>   PR:		235010
>   Reported by:	Rys Sommefeldt <rys AT sommefeldt.com>
>   Sponsored by:	Dell EMC Isilon
> 
> Modified:
>   head/sys/amd64/vmm/x86.c
> 
> Modified: head/sys/amd64/vmm/x86.c
> ==============================================================================
> --- head/sys/amd64/vmm/x86.c	Fri Jan 18 23:26:31 2019	(r343165)
> +++ head/sys/amd64/vmm/x86.c	Fri Jan 18 23:54:51 2019	(r343166)
> @@ -136,6 +136,14 @@ x86_emulate_cpuid(struct vm *vm, int vcpu_id,
>  		case CPUID_8000_0008:
>  			cpuid_count(*eax, *ecx, regs);
>  			if (vmm_is_amd()) {
> +				/*
> +				 * As on Intel (0000_0007:0, EDX), mask out
> +				 * unsupported or unsafe AMD extended features
> +				 * (8000_0008 EBX).
> +				 */
> +				regs[1] &= (AMDFEID_CLZERO | AMDFEID_IRPERF |
> +				    AMDFEID_XSAVEERPTR);
> +
>  				vm_get_topology(vm, &sockets, &cores, &threads,
>  				    &maxcpus);
>  				/*
> 
> 

-- 
Rod Grimes                                                 rgrimes at freebsd.org


More information about the svn-src-head mailing list