Author: grehan
Date: Mon May 18 07:06:35 2020
New Revision: 361151
URL: https://svnweb.freebsd.org/changeset/base/361151

Log:
  MFS r361132
     Hide host CPUID 0x15 TSC/Crystal ratio/freq info from guest
  
  Approved by: re (kib), bz (mentor)

Modified:
  releng/11.4/sys/amd64/vmm/x86.c
  releng/11.4/sys/amd64/vmm/x86.h
Directory Properties:
  releng/11.4/   (props changed)

Modified: releng/11.4/sys/amd64/vmm/x86.c
==============================================================================
--- releng/11.4/sys/amd64/vmm/x86.c     Mon May 18 02:14:25 2020        
(r361150)
+++ releng/11.4/sys/amd64/vmm/x86.c     Mon May 18 07:06:35 2020        
(r361151)
@@ -554,6 +554,18 @@ x86_emulate_cpuid(struct vm *vm, int vcpu_id,
                        }
                        break;
 
+               case CPUID_0000_0015:
+                       /*
+                        * Don't report CPU TSC/Crystal ratio and clock
+                        * values since guests may use these to derive the
+                        * local APIC frequency..
+                        */
+                       regs[0] = 0;
+                       regs[1] = 0;
+                       regs[2] = 0;
+                       regs[3] = 0;
+                       break;
+
                case 0x40000000:
                        regs[0] = CPUID_VM_HIGH;
                        bcopy(bhyve_id, &regs[1], 4);

Modified: releng/11.4/sys/amd64/vmm/x86.h
==============================================================================
--- releng/11.4/sys/amd64/vmm/x86.h     Mon May 18 02:14:25 2020        
(r361150)
+++ releng/11.4/sys/amd64/vmm/x86.h     Mon May 18 07:06:35 2020        
(r361151)
@@ -39,6 +39,7 @@
 #define        CPUID_0000_000A (0xA)
 #define        CPUID_0000_000B (0xB)
 #define        CPUID_0000_000D (0xD)
+#define        CPUID_0000_0015 (0x15)
 #define CPUID_8000_0000        (0x80000000)
 #define CPUID_8000_0001        (0x80000001)
 #define CPUID_8000_0002        (0x80000002)
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to