Author: jhb
Date: Mon Jul 21 18:26:51 2014
New Revision: 268952
URL: http://svnweb.freebsd.org/changeset/base/268952

Log:
  MFC 264347:
  Account for the "plus 1" encoding of the CPUID Function 4 reported
  core per package and cache sharing values.

Modified:
  stable/10/sys/amd64/vmm/x86.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/amd64/vmm/x86.c
==============================================================================
--- stable/10/sys/amd64/vmm/x86.c       Mon Jul 21 18:23:48 2014        
(r268951)
+++ stable/10/sys/amd64/vmm/x86.c       Mon Jul 21 18:26:51 2014        
(r268952)
@@ -219,9 +219,18 @@ x86_emulate_cpuid(struct vm *vm, int vcp
 
                        /*
                         * Do not expose topology.
+                        *
+                        * The maximum number of processor cores in
+                        * this physical processor package and the
+                        * maximum number of threads sharing this
+                        * cache are encoded with "plus 1" encoding.
+                        * Adding one to the value in this register
+                        * field to obtains the actual value.
+                        *
+                        * Therefore 0 for both indicates 1 core per
+                        * package and no cache sharing.
                         */
                        regs[0] &= 0xffff8000;
-                       regs[0] |= 0x04008000;
                        break;
 
                case CPUID_0000_0007:
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to