[prev in list] [next in list] [prev in thread] [next in thread]
List: bochs-cvs
Subject: [Bochs-cvs] [13271] trunk/bochs
From: sshwarts--- via Bochs-cvs <bochs-cvs () lists ! sourceforge ! net>
Date: 2017-08-09 20:36:17
Message-ID: 1502310977.809826.11401 () sfp-scm-8 ! v30 ! ch3 ! sourceforge ! com
[Download RAW message or body]
Revision: 13271
Author: sshwarts
Date: 2017-08-09 20:36:17 +0000 (Wed, 09 Aug 2017)
Log Message:
-----------
added Skylake-X model to CPUDB -> with EVEX and AVX512 support
Modified Paths:
--------------
trunk/bochs/cpu/cpudb/Makefile.in
trunk/bochs/cpu/cpudb/intel/broadwell_ult.cc
trunk/bochs/cpu/cpuid.h
trunk/bochs/cpu/vmcs.cc
trunk/bochs/cpu/vmx.cc
trunk/bochs/cpu/vmx.h
trunk/bochs/cpudb.h
Added Paths:
-----------
trunk/bochs/cpu/cpudb/intel/corei7_skylake-x.cc
trunk/bochs/cpu/cpudb/intel/corei7_skylake-x.h
trunk/bochs/cpu/cpudb/intel/corei7_skylake-x.txt
Modified: trunk/bochs/cpu/cpudb/Makefile.in
===================================================================
--- trunk/bochs/cpu/cpudb/Makefile.in 2017-08-09 15:42:34 UTC (rev 13270)
+++ trunk/bochs/cpu/cpudb/Makefile.in 2017-08-09 20:36:17 UTC (rev 13271)
@@ -50,6 +50,7 @@
intel/corei7_ivy_bridge_3770K.o \
intel/corei7_haswell_4770.o \
intel/broadwell_ult.o \
+ intel/corei7_skylake-x.o \
amd/amd_k6_2_chomper.o \
amd/athlon64_clawhammer.o \
amd/athlon64_venice.o \
@@ -233,6 +234,16 @@
../decoder/ia_opcodes.h ../lazy_flags.h ../tlb.h ../icache.h ../apic.h \
../xmm.h ../vmx.h ../cpuid.h ../access.h ../../param_names.h \
intel/broadwell_ult.h
+intel/corei7_skylake-x.o: intel/corei7_skylake-x.@CPP_SUFFIX@ ../../bochs.h \
+ ../../config.h ../../osdep.h ../../bx_debug/debug.h ../../config.h \
+ ../../osdep.h ../../gui/siminterface.h ../../cpudb.h \
+ ../../gui/paramtree.h ../../memory/memory-bochs.h ../../pc_system.h \
+ ../../gui/gui.h ../../instrument/stubs/instrument.h ../cpu.h \
+ ../decoder/decoder.h ../i387.h ../fpu/softfloat.h ../fpu/tag_w.h \
+ ../fpu/status_w.h ../fpu/control_w.h ../crregs.h ../descriptor.h \
+ ../decoder/instr.h ../decoder/ia_opcodes.h ../lazy_flags.h ../tlb.h \
+ ../icache.h ../apic.h ../xmm.h ../vmx.h ../cpuid.h ../access.h \
+ ../../param_names.h intel/corei7_skylake-x.h
amd/amd_k6_2_chomper.o: amd/amd_k6_2_chomper.@CPP_SUFFIX@ ../../bochs.h \
../../config.h \
../../osdep.h ../../bx_debug/debug.h ../../config.h ../../osdep.h \
../../gui/siminterface.h ../../cpudb.h ../../gui/paramtree.h \
Modified: trunk/bochs/cpu/cpudb/intel/broadwell_ult.cc
===================================================================
--- trunk/bochs/cpu/cpudb/intel/broadwell_ult.cc 2017-08-09 15:42:34 UTC (rev 13270)
+++ trunk/bochs/cpu/cpudb/intel/broadwell_ult.cc 2017-08-09 20:36:17 UTC (rev 13271)
@@ -33,7 +33,7 @@
broadwell_ult_t::broadwell_ult_t(BX_CPU_C *cpu): bx_cpuid_t(cpu)
{
if (BX_SUPPORT_VMX == 1)
- BX_INFO(("You must compile with --enable-vmx=2 for Intel Core i7 Haswell VMX \
configuration")); + BX_INFO(("You must compile with --enable-vmx=2 for Intel Core \
i7 Broadwell VMX configuration"));
if (! BX_SUPPORT_MONITOR_MWAIT)
BX_INFO(("WARNING: MONITOR/MWAIT support is not compiled in !"));
@@ -102,7 +102,7 @@
void broadwell_ult_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, \
cpuid_function_t *leaf) const {
- static const char* brand_string = "Intel(R) Processor 5Y70 CPU @ \
1.10GHz\0\0\0\0\0\0\0\0\0\0"; + static const char* brand_string = "Intel(R) \
Processor 5Y70 CPU @ 1.10GHz\0\0\0\0\0\0\0\0\0\0\0"; static bx_bool \
cpuid_limit_winnt = SIM->get_param_bool(BXPN_CPUID_LIMIT_WINNT)->get(); if \
(cpuid_limit_winnt) if (function > 2 && function < 0x80000000) function = 2;
@@ -202,7 +202,7 @@
// MSR 0000048B: 0005-7CFF-0000-0000 BX_MSR_VMX_PROCBASED_CTRLS2
// MSR 0000048C: 0000-0F01-0633-4141 BX_MSR_VMX_MSR_VMX_EPT_VPID_CAP
// MSR 0000048D: 0000-007F-0000-0016 BX_MSR_VMX_TRUE_PINBASED_CTRLS
-// MSR 0000048E: FFF9-FFFE-0400-6172 BX_MSR_VMX_TRUE_PINBASED_CTRLS
+// MSR 0000048E: FFF9-FFFE-0400-6172 BX_MSR_VMX_TRUE_PROCBASED_CTRLS
// MSR 0000048F: 007F-FFFF-0003-6DFB BX_MSR_VMX_TRUE_VMEXIT_CTRLS
// MSR 00000490: 0000-FFFF-0000-11FB BX_MSR_VMX_TRUE_VMENTRY_CTRLS
Added: trunk/bochs/cpu/cpudb/intel/corei7_skylake-x.cc
===================================================================
--- trunk/bochs/cpu/cpudb/intel/corei7_skylake-x.cc (rev 0)
+++ trunk/bochs/cpu/cpudb/intel/corei7_skylake-x.cc 2017-08-09 20:36:17 UTC (rev \
13271) @@ -0,0 +1,814 @@
+/////////////////////////////////////////////////////////////////////////
+// $Id$
+/////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2017 Stanislav Shwartsman
+// Written by Stanislav Shwartsman [sshwarts at sourceforge net]
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA B 02110-1301 USA
+//
+/////////////////////////////////////////////////////////////////////////
+
+#include "bochs.h"
+#include "cpu.h"
+#include "param_names.h"
+#include "corei7_skylake-x.h"
+
+#define LOG_THIS cpu->
+
+#if BX_SUPPORT_X86_64 && BX_SUPPORT_AVX && BX_SUPPORT_EVEX
+
+corei7_skylake_x_t::corei7_skylake_x_t(BX_CPU_C *cpu): bx_cpuid_t(cpu)
+{
+ if (BX_SUPPORT_VMX == 1)
+ BX_INFO(("You must compile with --enable-vmx=2 for Intel Core i7 Skylake-X VMX \
configuration")); +
+ if (! BX_SUPPORT_MONITOR_MWAIT)
+ BX_INFO(("WARNING: MONITOR/MWAIT support is not compiled in !"));
+
+ enable_cpu_extension(BX_ISA_X87);
+ enable_cpu_extension(BX_ISA_486);
+ enable_cpu_extension(BX_ISA_PENTIUM);
+ enable_cpu_extension(BX_ISA_P6);
+ enable_cpu_extension(BX_ISA_MMX);
+ enable_cpu_extension(BX_ISA_SYSENTER_SYSEXIT);
+ enable_cpu_extension(BX_ISA_CLFLUSH);
+ enable_cpu_extension(BX_ISA_DEBUG_EXTENSIONS);
+ enable_cpu_extension(BX_ISA_VME);
+ enable_cpu_extension(BX_ISA_PSE);
+ enable_cpu_extension(BX_ISA_PAE);
+ enable_cpu_extension(BX_ISA_PGE);
+#if BX_PHY_ADDRESS_LONG
+ enable_cpu_extension(BX_ISA_PSE36);
+#endif
+ enable_cpu_extension(BX_ISA_MTRR);
+ enable_cpu_extension(BX_ISA_PAT);
+ enable_cpu_extension(BX_ISA_XAPIC);
+ enable_cpu_extension(BX_ISA_X2APIC);
+ enable_cpu_extension(BX_ISA_LONG_MODE);
+ enable_cpu_extension(BX_ISA_LM_LAHF_SAHF);
+ enable_cpu_extension(BX_ISA_CMPXCHG16B);
+ enable_cpu_extension(BX_ISA_NX);
+ enable_cpu_extension(BX_ISA_1G_PAGES);
+ enable_cpu_extension(BX_ISA_PCID);
+ enable_cpu_extension(BX_ISA_TSC_DEADLINE);
+ enable_cpu_extension(BX_ISA_SSE);
+ enable_cpu_extension(BX_ISA_SSE2);
+ enable_cpu_extension(BX_ISA_SSE3);
+ enable_cpu_extension(BX_ISA_SSSE3);
+ enable_cpu_extension(BX_ISA_SSE4_1);
+ enable_cpu_extension(BX_ISA_SSE4_2);
+ enable_cpu_extension(BX_ISA_POPCNT);
+#if BX_SUPPORT_MONITOR_MWAIT
+ enable_cpu_extension(BX_ISA_MONITOR_MWAIT);
+#endif
+#if BX_SUPPORT_VMX >= 2
+ enable_cpu_extension(BX_ISA_VMX);
+#endif
+ enable_cpu_extension(BX_ISA_RDTSCP);
+ enable_cpu_extension(BX_ISA_XSAVE);
+ enable_cpu_extension(BX_ISA_XSAVEOPT);
+ enable_cpu_extension(BX_ISA_AES_PCLMULQDQ);
+ enable_cpu_extension(BX_ISA_MOVBE);
+ enable_cpu_extension(BX_ISA_AVX);
+ enable_cpu_extension(BX_ISA_AVX_F16C);
+ enable_cpu_extension(BX_ISA_AVX2);
+ enable_cpu_extension(BX_ISA_AVX_FMA);
+ enable_cpu_extension(BX_ISA_LZCNT);
+ enable_cpu_extension(BX_ISA_BMI1);
+ enable_cpu_extension(BX_ISA_BMI2);
+ enable_cpu_extension(BX_ISA_FSGSBASE);
+ enable_cpu_extension(BX_ISA_INVPCID);
+ enable_cpu_extension(BX_ISA_SMEP);
+ enable_cpu_extension(BX_ISA_RDRAND);
+ enable_cpu_extension(BX_ISA_TSC_DEADLINE);
+ enable_cpu_extension(BX_ISA_FCS_FDS_DEPRECATION);
+ enable_cpu_extension(BX_ISA_RDSEED);
+ enable_cpu_extension(BX_ISA_ADX);
+ enable_cpu_extension(BX_ISA_SMAP);
+ enable_cpu_extension(BX_ISA_FDP_DEPRECATION);
+ enable_cpu_extension(BX_ISA_AVX512);
+ enable_cpu_extension(BX_ISA_AVX512_DQ);
+ enable_cpu_extension(BX_ISA_AVX512_CD);
+ enable_cpu_extension(BX_ISA_AVX512_BW);
+ enable_cpu_extension(BX_ISA_AVX512_VL);
+ enable_cpu_extension(BX_ISA_CLFLUSHOPT);
+ enable_cpu_extension(BX_ISA_CLWB);
+}
+
+void corei7_skylake_x_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, \
cpuid_function_t *leaf) const +{
+ static const char* brand_string = "Intel(R) Core(TM) i7-7800X CPU @ \
3.50GHz\0\0\0\0\0\0\0\0"; + static bx_bool cpuid_limit_winnt = \
SIM->get_param_bool(BXPN_CPUID_LIMIT_WINNT)->get(); + if (cpuid_limit_winnt)
+ if (function > 2 && function < 0x80000000) function = 2;
+
+ switch(function) {
+ case 0x80000000:
+ get_ext_cpuid_leaf_0(leaf);
+ return;
+ case 0x80000001:
+ get_ext_cpuid_leaf_1(leaf);
+ return;
+ case 0x80000002:
+ case 0x80000003:
+ case 0x80000004:
+ get_ext_cpuid_brand_string_leaf(brand_string, function, leaf);
+ return;
+ case 0x80000005:
+ get_reserved_leaf(leaf);
+ return;
+ case 0x80000006:
+ get_ext_cpuid_leaf_6(leaf);
+ return;
+ case 0x80000007:
+ get_ext_cpuid_leaf_7(leaf);
+ return;
+ case 0x80000008:
+ get_ext_cpuid_leaf_8(leaf);
+ return;
+ case 0x00000000:
+ get_std_cpuid_leaf_0(leaf);
+ return;
+ case 0x00000001:
+ get_std_cpuid_leaf_1(leaf);
+ return;
+ case 0x00000002:
+ get_std_cpuid_leaf_2(leaf);
+ return;
+ case 0x00000003:
+ get_reserved_leaf(leaf);
+ return;
+ case 0x00000004:
+ get_std_cpuid_leaf_4(subfunction, leaf);
+ return;
+ case 0x00000005:
+ get_std_cpuid_leaf_5(leaf);
+ return;
+ case 0x00000006:
+ get_std_cpuid_leaf_6(leaf);
+ return;
+ case 0x00000007:
+ get_std_cpuid_leaf_7(subfunction, leaf);
+ return;
+ case 0x00000008:
+ case 0x00000009:
+ get_reserved_leaf(leaf);
+ return;
+ case 0x0000000A:
+ get_std_cpuid_leaf_A(leaf);
+ return;
+ case 0x0000000B:
+ get_std_cpuid_extended_topology_leaf(subfunction, leaf);
+ return;
+ case 0x0000000C:
+ get_reserved_leaf(leaf);
+ return;
+ case 0x0000000D:
+ get_std_cpuid_xsave_leaf(subfunction, leaf);
+ return;
+ case 0x0000000E:
+ case 0x0000000F:
+ case 0x00000010:
+ case 0x00000011:
+ case 0x00000012:
+ case 0x00000013:
+ case 0x00000014:
+ get_reserved_leaf(leaf);
+ return;
+ case 0x00000015:
+ get_std_cpuid_leaf_15(leaf);
+ return;
+ case 0x00000016:
+ default:
+ get_std_cpuid_leaf_16(leaf);
+ return;
+ }
+}
+
+#if BX_SUPPORT_VMX >= 2
+
+// MSR 00000480: 00DA-0400-0000-0004 BX_MSR_VMX_BASIC
+// MSR 00000481: 0000-00FF-0000-0016 BX_MSR_VMX_PINBASED_CTRLS
+// MSR 00000482: FFF9-FFFE-0401-E172 BX_MSR_VMX_PROCBASED_CTRLS
+// MSR 00000483: 01FF-FFFF-0003-6DFF BX_MSR_VMX_VMEXIT_CTRLS
+// MSR 00000484: 0003-FFFF-0000-11FF BX_MSR_VMX_VMENTRY_CTRLS
+// MSR 00000485: 0000-0000-7004-C1E7 BX_MSR_VMX_MISC
+// MSR 00000486: 0000-0000-8000-0021 BX_MSR_VMX_CR0_FIXED0
+// MSR 00000487: 0000-0000-FFFF-FFFF BX_MSR_VMX_CR0_FIXED1
+// MSR 00000488: 0000-0000-0000-2000 BX_MSR_VMX_CR4_FIXED0
+// MSR 00000489: 0000-0000-0037-27FF BX_MSR_VMX_CR4_FIXED1
+// MSR 0000048A: 0000-0000-0000-002E BX_MSR_VMX_VMCS_ENUM
+// MSR 0000048B: 025D-3FFF-0000-0000 BX_MSR_VMX_PROCBASED_CTRLS2
+// MSR 0000048C: 0000-0F01-0673-4141 BX_MSR_VMX_MSR_VMX_EPT_VPID_CAP
+// MSR 0000048D: 0000-00FF-0000-0016 BX_MSR_VMX_TRUE_PINBASED_CTRLS
+// MSR 0000048E: FFF9-FFFE-0400-6172 BX_MSR_VMX_TRUE_PROCBASED_CTRLS
+// MSR 0000048F: 01FF-FFFF-0003-6DFB BX_MSR_VMX_TRUE_VMEXIT_CTRLS
+// MSR 00000490: 0003-FFFF-0000-11FB BX_MSR_VMX_TRUE_VMENTRY_CTRLS
+
+// MSR 00000480: 00DA-0400-0000-0012 BX_MSR_VMX_BASIC
+// MSR 00000481: 0000-007F-0000-0016 BX_MSR_VMX_PINBASED_CTRLS
+// MSR 00000482: FFF9-FFFE-0401-E172 BX_MSR_VMX_PROCBASED_CTRLS
+// MSR 00000483: 007F-FFFF-0003-6DFF BX_MSR_VMX_VMEXIT_CTRLS
+// MSR 00000484: 0000-FFFF-0000-11FF BX_MSR_VMX_VMENTRY_CTRLS
+// MSR 00000485: 0000-0000-3004-81E5 BX_MSR_VMX_MISC
+// MSR 00000486: 0000-0000-8000-0021 BX_MSR_VMX_CR0_FIXED0
+// MSR 00000487: 0000-0000-FFFF-FFFF BX_MSR_VMX_CR0_FIXED1
+// MSR 00000488: 0000-0000-0000-2000 BX_MSR_VMX_CR4_FIXED0
+// MSR 00000489: 0000-0000-0037-67FF BX_MSR_VMX_CR4_FIXED1
+// MSR 0000048A: 0000-0000-0000-002A BX_MSR_VMX_VMCS_ENUM
+// MSR 0000048B: 0005-7CFF-0000-0000 BX_MSR_VMX_PROCBASED_CTRLS2
+// MSR 0000048C: 0000-0F01-0633-4141 BX_MSR_VMX_MSR_VMX_EPT_VPID_CAP
+// MSR 0000048D: 0000-007F-0000-0016 BX_MSR_VMX_TRUE_PINBASED_CTRLS
+// MSR 0000048E: FFF9-FFFE-0400-6172 BX_MSR_VMX_TRUE_PINBASED_CTRLS
+// MSR 0000048F: 007F-FFFF-0003-6DFB BX_MSR_VMX_TRUE_VMEXIT_CTRLS
+// MSR 00000490: 0000-FFFF-0000-11FB BX_MSR_VMX_TRUE_VMENTRY_CTRLS
+
+Bit32u corei7_skylake_x_t::get_vmx_extensions_bitmask(void) const
+{
+ return BX_VMX_TPR_SHADOW |
+ BX_VMX_VIRTUAL_NMI |
+ BX_VMX_APIC_VIRTUALIZATION |
+ BX_VMX_WBINVD_VMEXIT |
+ /* BX_VMX_MONITOR_TRAP_FLAG | */ // not implemented yet
+ BX_VMX_VPID |
+ BX_VMX_EPT |
+ BX_VMX_UNRESTRICTED_GUEST |
+ BX_VMX_SAVE_DEBUGCTL_DISABLE |
+ BX_VMX_PERF_GLOBAL_CTRL | // MSR not implemented yet
+ BX_VMX_PAT |
+ BX_VMX_EFER |
+ BX_VMX_DESCRIPTOR_TABLE_EXIT |
+ BX_VMX_X2APIC_VIRTUALIZATION |
+ BX_VMX_PREEMPTION_TIMER |
+ BX_VMX_PAUSE_LOOP_EXITING |
+ BX_VMX_EPTP_SWITCHING |
+ BX_VMX_EPT_ACCESS_DIRTY |
+ BX_VMX_VINTR_DELIVERY |
+ BX_VMX_VMCS_SHADOWING |
+ BX_VMX_EPT_EXCEPTION |
+ BX_VMX_SW_INTERRUPT_INJECTION_ILEN_0 |
+ /* BX_VMX_POSTED_INSTERRUPTS - not implemented yet */
+ /* BX_VMX_MBE_CONTROL - not implemeted yet */
+ BX_VMX_TSC_SCALING;
+}
+
+#endif
+
+// leaf 0x00000000 //
+void corei7_skylake_x_t::get_std_cpuid_leaf_0(cpuid_function_t *leaf) const
+{
+ static const char* vendor_string = "GenuineIntel";
+
+ // EAX: highest std function understood by CPUID
+ // EBX: vendor ID string
+ // EDX: vendor ID string
+ // ECX: vendor ID string
+ unsigned max_leaf = 0x16;
+ static bx_bool cpuid_limit_winnt = \
SIM->get_param_bool(BXPN_CPUID_LIMIT_WINNT)->get(); + if (cpuid_limit_winnt)
+ max_leaf = 0x2;
+
+ get_leaf_0(max_leaf, vendor_string, leaf);
+}
+
+// leaf 0x00000001 //
+void corei7_skylake_x_t::get_std_cpuid_leaf_1(cpuid_function_t *leaf) const
+{
+ // EAX: CPU Version Information
+ // [3:0] Stepping ID
+ // [7:4] Model: starts at 1
+ // [11:8] Family: 4=486, 5=Pentium, 6=PPro, ...
+ // [13:12] Type: 0=OEM, 1=overdrive, 2=dual cpu, 3=reserved
+ // [19:16] Extended Model
+ // [27:20] Extended Family
+ leaf->eax = 0x00050654;
+
+ // EBX:
+ // [7:0] Brand ID
+ // [15:8] CLFLUSH cache line size (value*8 = cache line size in bytes)
+ // [23:16] Number of logical processors in one physical processor
+ // [31:24] Local Apic ID
+
+ unsigned n_logical_processors = ncores*nthreads;
+ leaf->ebx = ((CACHE_LINE_SIZE / 8) << 8) |
+ (n_logical_processors << 16);
+#if BX_SUPPORT_APIC
+ leaf->ebx |= ((cpu->get_apic_id() & 0xff) << 24);
+#endif
+
+ // ECX: Extended Feature Flags
+ // * [0:0] SSE3: SSE3 Instructions
+ // * [1:1] PCLMULQDQ Instruction support
+ // * [2:2] DTES64: 64-bit DS area
+ // * [3:3] MONITOR/MWAIT support
+ // * [4:4] DS-CPL: CPL qualified debug store
+ // * [5:5] VMX: Virtual Machine Technology
+ // [6:6] SMX: Secure Virtual Machine Technology
+ // * [7:7] EST: Enhanced Intel SpeedStep Technology
+ // * [8:8] TM2: Thermal Monitor 2
+ // * [9:9] SSSE3: SSSE3 Instructions
+ // [10:10] CNXT-ID: L1 context ID
+ // * [11:11] reserved
+ // * [12:12] FMA Instructions support
+ // * [13:13] CMPXCHG16B: CMPXCHG16B instruction support
+ // * [14:14] xTPR update control
+ // * [15:15] PDCM - Perfon and Debug Capability MSR
+ // [16:16] reserved
+ // * [17:17] PCID: Process Context Identifiers
+ // * [18:18] DCA - Direct Cache Access
+ // * [19:19] SSE4.1 Instructions
+ // * [20:20] SSE4.2 Instructions
+ // * [21:21] X2APIC
+ // * [22:22] MOVBE instruction
+ // * [23:23] POPCNT instruction
+ // * [24:24] TSC Deadline
+ // * [25:25] AES Instructions
+ // * [26:26] XSAVE extensions support
+ // * [27:27] OSXSAVE support
+ // * [28:28] AVX extensions support
+ // * [29:29] AVX F16C - Float16 conversion support
+ // * [30:30] RDRAND instruction
+ // [31:31] reserved
+ leaf->ecx = BX_CPUID_EXT_SSE3 |
+ BX_CPUID_EXT_PCLMULQDQ |
+ BX_CPUID_EXT_DTES64 |
+#if BX_SUPPORT_MONITOR_MWAIT
+ BX_CPUID_EXT_MONITOR_MWAIT |
+#endif
+ BX_CPUID_EXT_DS_CPL |
+#if BX_SUPPORT_VMX >= 2
+ BX_CPUID_EXT_VMX |
+#endif
+ BX_CPUID_EXT_EST |
+ BX_CPUID_EXT_THERMAL_MONITOR2 |
+ BX_CPUID_EXT_SSSE3 |
+ BX_CPUID_EXT_FMA |
+ BX_CPUID_EXT_CMPXCHG16B |
+ BX_CPUID_EXT_xTPR |
+ BX_CPUID_EXT_PDCM |
+ BX_CPUID_EXT_PCID |
+ BX_CPUID_EXT_SSE4_1 |
+ BX_CPUID_EXT_SSE4_2 |
+ BX_CPUID_EXT_X2APIC |
+ BX_CPUID_EXT_MOVBE |
+ BX_CPUID_EXT_POPCNT |
+ BX_CPUID_EXT_TSC_DEADLINE |
+ BX_CPUID_EXT_AES |
+ BX_CPUID_EXT_XSAVE |
+ BX_CPUID_EXT_AVX |
+ BX_CPUID_EXT_AVX_F16C |
+ BX_CPUID_EXT_RDRAND;
+ if (cpu->cr4.get_OSXSAVE())
+ leaf->ecx |= BX_CPUID_EXT_OSXSAVE;
+
+ // EDX: Standard Feature Flags
+ // * [0:0] FPU on chip
+ // * [1:1] VME: Virtual-8086 Mode enhancements
+ // * [2:2] DE: Debug Extensions (I/O breakpoints)
+ // * [3:3] PSE: Page Size Extensions
+ // * [4:4] TSC: Time Stamp Counter
+ // * [5:5] MSR: RDMSR and WRMSR support
+ // * [6:6] PAE: Physical Address Extensions
+ // * [7:7] MCE: Machine Check Exception
+ // * [8:8] CXS: CMPXCHG8B instruction
+ // * [9:9] APIC: APIC on Chip
+ // [10:10] Reserved
+ // * [11:11] SYSENTER/SYSEXIT support
+ // * [12:12] MTRR: Memory Type Range Reg
+ // * [13:13] PGE/PTE Global Bit
+ // * [14:14] MCA: Machine Check Architecture
+ // * [15:15] CMOV: Cond Mov/Cmp Instructions
+ // * [16:16] PAT: Page Attribute Table
+ // * [17:17] PSE-36: Physical Address Extensions
+ // [18:18] PSN: Processor Serial Number
+ // * [19:19] CLFLUSH: CLFLUSH Instruction support
+ // [20:20] Reserved
+ // * [21:21] DS: Debug Store
+ // * [22:22] ACPI: Thermal Monitor and Software Controlled Clock Facilities
+ // * [23:23] MMX Technology
+ // * [24:24] FXSR: FXSAVE/FXRSTOR (also indicates CR4.OSFXSR is available)
+ // * [25:25] SSE: SSE Extensions
+ // * [26:26] SSE2: SSE2 Extensions
+ // * [27:27] Self Snoop
+ // * [28:28] Hyper Threading Technology
+ // * [29:29] TM: Thermal Monitor
+ // [30:30] Reserved
+ // * [31:31] PBE: Pending Break Enable
+ leaf->edx = BX_CPUID_STD_X87 |
+ BX_CPUID_STD_VME |
+ BX_CPUID_STD_DEBUG_EXTENSIONS |
+ BX_CPUID_STD_PSE |
+ BX_CPUID_STD_TSC |
+ BX_CPUID_STD_MSR |
+ BX_CPUID_STD_PAE |
+ BX_CPUID_STD_MCE |
+ BX_CPUID_STD_CMPXCHG8B |
+ BX_CPUID_STD_SYSENTER_SYSEXIT |
+ BX_CPUID_STD_MTRR |
+ BX_CPUID_STD_GLOBAL_PAGES |
+ BX_CPUID_STD_MCA |
+ BX_CPUID_STD_CMOV |
+ BX_CPUID_STD_PAT |
+ BX_CPUID_STD_PSE36 |
+ BX_CPUID_STD_CLFLUSH |
+ BX_CPUID_STD_DEBUG_STORE |
+ BX_CPUID_STD_ACPI |
+ BX_CPUID_STD_MMX |
+ BX_CPUID_STD_FXSAVE_FXRSTOR |
+ BX_CPUID_STD_SSE |
+ BX_CPUID_STD_SSE2 |
+ BX_CPUID_STD_SELF_SNOOP |
+ BX_CPUID_STD_HT |
+ BX_CPUID_STD_THERMAL_MONITOR |
+ BX_CPUID_STD_PBE;
+#if BX_SUPPORT_APIC
+ // if MSR_APICBASE APIC Global Enable bit has been cleared,
+ // the CPUID feature flag for the APIC is set to 0.
+ if (cpu->msr.apicbase & 0x800)
+ leaf->edx |= BX_CPUID_STD_APIC; // APIC on chip
+#endif
+}
+
+// leaf 0x00000002 //
+void corei7_skylake_x_t::get_std_cpuid_leaf_2(cpuid_function_t *leaf) const
+{
+ // CPUID function 0x00000002 - Cache and TLB Descriptors
+ leaf->eax = 0x76036301;
+ leaf->ebx = 0x00f0b5ff;
+ leaf->ecx = 0x00000000;
+ leaf->edx = 0x00c30000;
+}
+
+// leaf 0x00000003 - Processor Serial Number (not supported) //
+
+// leaf 0x00000004 //
+void corei7_skylake_x_t::get_std_cpuid_leaf_4(Bit32u subfunction, cpuid_function_t \
*leaf) const +{
+ // CPUID function 0x00000004 - Deterministic Cache Parameters
+
+ // EAX:
+ // [04-00] - Cache Type Field
+ // 0 = No more caches
+ // 1 = Data Cache
+ // 2 = Instruction Cache
+ // 3 = Unified Cache
+ // [07-05] - Cache Level (starts at 1)]
+ // [08] - Self Initializing cache level (doesn't need software \
initialization) + // [09] - Fully Associative cache
+ // [13-10] - Reserved
+ // [25-14] - Maximum number of addressable IDs for logical processors sharing \
this cache + // [31-26] - Maximum number of addressable IDs for processor cores in \
the physical package - 1 + // EBX:
+ // [11-00] - L = System Coherency Line Size
+ // [21-12] - P = Physical Line partitions
+ // [31-22] - W = Ways of associativity
+ // ECX: Number of Sets
+ // EDX:
+ // [00] - Writeback invalidate
+ // [01] - Cache Inclusiveness
+ // [02] - Complex Cache Indexing
+ // [31-03] - Reserved
+
+ switch(subfunction) {
+ case 0:
+ leaf->eax = 0x1c004121;
+ leaf->ebx = 0x01c0003f;
+ leaf->ecx = 0x0000003f;
+ leaf->edx = 0x00000000;
+ break;
+ case 1:
+ leaf->eax = 0x1c004122;
+ leaf->ebx = 0x01c0003f;
+ leaf->ecx = 0x0000003f;
+ leaf->edx = 0x00000000;
+ break;
+ case 2:
+ leaf->eax = 0x1c004143;
+ leaf->ebx = 0x03c0003f;
+ leaf->ecx = 0x000003ff;
+ leaf->edx = 0x00000000;
+ break;
+ case 3:
+ leaf->eax = 0x1c03c163;
+ leaf->ebx = 0x0280003f;
+ leaf->ecx = 0x00002fff;
+ leaf->edx = 0x00000004;
+ break;
+ default:
+ leaf->eax = 0;
+ leaf->ebx = 0;
+ leaf->ecx = 0;
+ leaf->edx = 0;
+ return;
+ }
+}
+
+// leaf 0x00000005 //
+void corei7_skylake_x_t::get_std_cpuid_leaf_5(cpuid_function_t *leaf) const
+{
+ // CPUID function 0x00000005 - MONITOR/MWAIT Leaf
+
+#if BX_SUPPORT_MONITOR_MWAIT
+ // EAX - Smallest monitor-line size in bytes
+ // EBX - Largest monitor-line size in bytes
+ // ECX -
+ // [31:2] - reserved
+ // [1:1] - exit MWAIT even with EFLAGS.IF = 0
+ // [0:0] - MONITOR/MWAIT extensions are supported
+ // EDX -
+ // [03-00] - number of C0 sub C-states supported using MWAIT
+ // [07-04] - number of C1 sub C-states supported using MWAIT
+ // [11-08] - number of C2 sub C-states supported using MWAIT
+ // [15-12] - number of C3 sub C-states supported using MWAIT
+ // [19-16] - number of C4 sub C-states supported using MWAIT
+ // [31-20] - reserved (MBZ)
+ leaf->eax = CACHE_LINE_SIZE;
+ leaf->ebx = CACHE_LINE_SIZE;
+ leaf->ecx = 3;
+ leaf->edx = 0x00002020;
+#else
+ leaf->eax = 0;
+ leaf->ebx = 0;
+ leaf->ecx = 0;
+ leaf->edx = 0;
+#endif
+}
+
+// leaf 0x00000006 //
+void corei7_skylake_x_t::get_std_cpuid_leaf_6(cpuid_function_t *leaf) const
+{
+ // CPUID function 0x00000006 - Thermal and Power Management Leaf
+ leaf->eax = 0x00000075;
+ leaf->ebx = 0x00000002;
+ leaf->ecx = 0x00000009;
+ leaf->edx = 0x00000000;
+}
+
+// leaf 0x00000007 //
+void corei7_skylake_x_t::get_std_cpuid_leaf_7(Bit32u subfunction, cpuid_function_t \
*leaf) const +{
+ switch(subfunction) {
+ case 0:
+ leaf->eax = 0; /* report max sub-leaf that supported in leaf 7 */
+
+ // * [0:0] FS/GS BASE access instructions
+ // * [1:1] Support for IA32_TSC_ADJUST MSR
+ // [2:2] SGX: Intel Software Guard Extensions
+ // * [3:3] BMI1: Advanced Bit Manipulation Extensions
+ // x [4:4] HLE: Hardware Lock Elision
+ // * [5:5] AVX2
+ // * [6:6] FDP Deprecation
+ // * [7:7] SMEP: Supervisor Mode Execution Protection
+ // * [8:8] BMI2: Advanced Bit Manipulation Extensions
+ // * [9:9] Support for Enhanced REP MOVSB/STOSB
+ // * [10:10] Support for INVPCID instruction
+ // x [11:11] RTM: Restricted Transactional Memory
+ // x [12:12] Supports Quality of Service (QoS) capability
+ // * [13:13] Deprecates FPU CS and FPU DS values
+ // [14:14] Intel Memory Protection Extensions
+ // x [15:15] Supports Platform Quality of Service Enforcement (PQE) capability
+ // * [16:16] AVX512F instructions support
+ // * [17:17] AVX512DQ instructions support
+ // * [18:18] RDSEED instruction support
+ // * [19:19] ADCX/ADOX instructions support
+ // * [20:20] SMAP: Supervisor Mode Access Prevention
+ // [21:21] AVX512IFMA52 instructions support
+ // [22:22] reserved
+ // * [23:23] CLFLUSHOPT instruction
+ // * [24:24] CLWB instruction
+ // * [25:25] Intel Processor Trace
+ // [26:26] AVX512PF instructions support
+ // [27:27] AVX512ER instructions support
+ // * [28:28] AVX512CD instructions support
+ // [29:29] SHA instructions support
+ // * [30:30] AVX512BW instructions support
+ // * [31:31] AVX512VL variable vector length support
+ leaf->ebx = BX_CPUID_EXT3_FSGSBASE |
+ /* BX_CPUID_EXT3_TSC_ADJUST | */ // not implemented yet
+ BX_CPUID_EXT3_BMI1 |
+ BX_CPUID_EXT3_AVX2 |
+ BX_CPUID_EXT3_FDP_DEPRECATION |
+ BX_CPUID_EXT3_SMEP |
+ BX_CPUID_EXT3_BMI2 |
+ BX_CPUID_EXT3_ENCHANCED_REP_STRINGS |
+ BX_CPUID_EXT3_INVPCID |
+ BX_CPUID_EXT3_AVX512F |
+ BX_CPUID_EXT3_AVX512DQ |
+ BX_CPUID_EXT3_DEPRECATE_FCS_FDS |
+ BX_CPUID_EXT3_RDSEED |
+ BX_CPUID_EXT3_ADX |
+ BX_CPUID_EXT3_SMAP |
+ BX_CPUID_EXT3_CLFLUSHOPT |
+ BX_CPUID_EXT3_CLWB |
+ /* BX_CPUID_EXT3_PROCESSOR_TRACE */ // Intel Processor Trace not \
implemented yet + BX_CPUID_EXT3_AVX512CD |
+ BX_CPUID_EXT3_AVX512BW |
+ BX_CPUID_EXT3_AVX512VL;
+
+ leaf->ecx = 0;
+ leaf->edx = 0;
+ break;
+ default:
+ leaf->eax = 0;
+ leaf->ebx = 0;
+ leaf->ecx = 0;
+ leaf->edx = 0;
+ }
+}
+
+// leaf 0x00000008 reserved //
+// leaf 0x00000009 direct cache access not supported //
+
+// leaf 0x0000000A //
+void corei7_skylake_x_t::get_std_cpuid_leaf_A(cpuid_function_t *leaf) const
+{
+ // CPUID function 0x0000000A - Architectural Performance Monitoring Leaf
+
+ // EAX:
+ // [7:0] Version ID of architectural performance monitoring
+ // [15:8] Number of general-purpose performance monitoring counters per logical \
processor + // [23:16] Bit width of general-purpose, performance monitoring counter
+ // [31:24] Length of EBX bit vector to enumerate architectural performance
+ // monitoring events.
+
+ // EBX:
+ // [0] Core cycle event not available if 1
+ // [1] Instruction retired event not available if 1
+ // [2] Reference cycles event not available if 1
+ // [3] Last-level cache reference event not available if 1
+ // [4] Last-level cache misses event not available if 1
+ // [5] Branch instruction retired event not available if 1
+ // [6] Branch mispredict retired event not available if 1
+ // [31:7] reserved
+
+ // ECX: reserved
+
+ // EDX:
+ // [4:0] Number of fixed performance counters (if Version ID > 1)
+ // [12:5] Bit width of fixed-function performance counters (if Version ID > 1)
+ // [31:13] reserved
+
+ leaf->eax = 0x07300404;
+ leaf->ebx = 0x00000000;
+ leaf->ecx = 0x00000000;
+ leaf->edx = 0x00000603;
+
+ BX_INFO(("WARNING: Architectural Performance Monitoring is not implemented"));
+}
+
+// leaf 0x0000000C reserved //
+
+// leaf 0x0000000D - XSAVE //
+
+// leaf 0x0000000E reserved //
+// leaf 0x0000000F Intel Resource Director Technology (Intel RDT) Monitoring \
Enumeration (not implemented) // +// leaf 0x00000010 Intel Resource Director \
Technology (Intel RDT) Allocation Enumeration (not implemented) // +// leaf \
0x00000011 reserved // +// leaf 0x00000012 SGX (not implemented) //
+// leaf 0x00000013 reserved //
+// leaf 0x00000014 Intel Processor Trace (not implemented) //
+
+void corei7_skylake_x_t::get_std_cpuid_leaf_15(cpuid_function_t *leaf) const
+{
+ // CPUID function 0x000000015 - Time Stamp Counter and Nominal Core Crystal Clock \
Information + leaf->eax = 0x00000002;
+ leaf->ebx = 0x00000124;
+ leaf->ecx = 0x00000000;
+ leaf->edx = 0x00000000;
+}
+
+void corei7_skylake_x_t::get_std_cpuid_leaf_16(cpuid_function_t *leaf) const
+{
+ // CPUID function 0x000000016 - Processor Frequency Information
+ leaf->eax = 0x00000dac;
+ leaf->ebx = 0x00000fa0;
+ leaf->ecx = 0x00000064;
+ leaf->edx = 0x00000000;
+}
+
+// leaf 0x80000000 //
+void corei7_skylake_x_t::get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const
+{
+ // EAX: highest extended function understood by CPUID
+ // EBX: reserved
+ // EDX: reserved
+ // ECX: reserved
+ get_leaf_0(0x80000008, NULL, leaf);
+}
+
+// leaf 0x80000001 //
+void corei7_skylake_x_t::get_ext_cpuid_leaf_1(cpuid_function_t *leaf) const
+{
+ // EAX: CPU Version Information (reserved for Intel)
+ leaf->eax = 0;
+
+ // EBX: Brand ID (reserved for Intel)
+ leaf->ebx = 0;
+
+ // ECX:
+ // * [0:0] LAHF/SAHF instructions support in 64-bit mode
+ // [1:1] CMP_Legacy: Core multi-processing legacy mode (AMD)
+ // [2:2] SVM: Secure Virtual Machine (AMD)
+ // [3:3] Extended APIC Space
+ // [4:4] AltMovCR8: LOCK MOV CR0 means MOV CR8
+ // * [5:5] LZCNT: LZCNT instruction support
+ // [6:6] SSE4A: SSE4A Instructions support
+ // [7:7] Misaligned SSE support
+ // * [8:8] PREFETCHW: PREFETCHW instruction support
+ // [9:9] OSVW: OS visible workarounds (AMD)
+ // [10:10] IBS: Instruction based sampling
+ // [11:11] XOP: Extended Operations Support and XOP Prefix
+ // [12:12] SKINIT support
+ // [13:13] WDT: Watchdog timer support
+ // [14:14] Reserved
+ // [15:15] LWP: Light weight profiling
+ // [16:16] FMA4: Four-operand FMA instructions support
+ // [17:17] Reserved
+ // [18:18] Reserved
+ // [19:19] NodeId: Indicates support for NodeId MSR (0xc001100c)
+ // [20:20] Reserved
+ // [21:21] TBM: trailing bit manipulation instructions support
+ // [22:22] Topology extensions support
+ // [23:23] PerfCtrExtCore: core perf counter extensions support
+ // [24:24] PerfCtrExtNB: NB perf counter extensions support
+ // [25:25] Reserved
+ // [26:26] Data breakpoint extension. Indicates support for MSR 0xC0011027 and \
MSRs 0xC001101[B:9] + // [27:27] Performance time-stamp counter. Indicates support \
for MSR 0xC0010280 + // [28:28] PerfCtrExtL2I: L2I performance counter extensions \
support + // [29:29] Reserved
+ // [30:30] Reserved
+ // [31:31] Reserved
+
+ leaf->ecx = BX_CPUID_EXT2_LAHF_SAHF |
+ BX_CPUID_EXT2_LZCNT |
+ BX_CPUID_EXT2_PREFETCHW;
+
+ // EDX:
+ // Many of the bits in EDX are the same as FN 0x00000001 [*] for AMD
+ // [10:0] Reserved for Intel
+ // * [11:11] SYSCALL/SYSRET support
+ // [19:12] Reserved for Intel
+ // * [20:20] No-Execute page protection
+ // [25:21] Reserved
+ // * [26:26] 1G paging support
+ // * [27:27] Support RDTSCP Instruction
+ // [28:28] Reserved
+ // * [29:29] Long Mode
+ // [30:30] AMD 3DNow! Extensions
+ // [31:31] AMD 3DNow! Instructions
+
+ leaf->edx = BX_CPUID_STD2_NX |
+ BX_CPUID_STD2_1G_PAGES |
+ BX_CPUID_STD2_RDTSCP |
+ BX_CPUID_STD2_LONG_MODE;
+ if (cpu->long64_mode())
+ leaf->edx |= BX_CPUID_STD2_SYSCALL_SYSRET;
+}
+
+// leaf 0x80000002 //
+// leaf 0x80000003 //
+// leaf 0x80000004 //
+
+// leaf 0x80000005 - L1 Cache and TLB Identifiers (reserved for Intel)
+
+// leaf 0x80000006 //
+void corei7_skylake_x_t::get_ext_cpuid_leaf_6(cpuid_function_t *leaf) const
+{
+ // CPUID function 0x800000006 - L2 Cache and TLB Identifiers
+ leaf->eax = 0x00000000;
+ leaf->ebx = 0x00000000;
+ leaf->ecx = 0x01006040;
+ leaf->edx = 0x00000000;
+}
+
+// leaf 0x80000007 //
+void corei7_skylake_x_t::get_ext_cpuid_leaf_7(cpuid_function_t *leaf) const
+{
+ // CPUID function 0x800000007 - Advanced Power Management
+ leaf->eax = 0;
+ leaf->ebx = 0;
+ leaf->ecx = 0;
+ leaf->edx = 0x00000100; // bit 8 - invariant TSC
+}
+
+void corei7_skylake_x_t::dump_cpuid(void) const
+{
+ bx_cpuid_t::dump_cpuid(0x16, 0x8);
+}
+
+bx_cpuid_t *create_corei7_skylake_x_cpuid(BX_CPU_C *cpu) { return new \
corei7_skylake_x_t(cpu); } +
+#endif
Property changes on: trunk/bochs/cpu/cpudb/intel/corei7_skylake-x.cc
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Rev
\ No newline at end of property
Added: trunk/bochs/cpu/cpudb/intel/corei7_skylake-x.h
===================================================================
--- trunk/bochs/cpu/cpudb/intel/corei7_skylake-x.h (rev 0)
+++ trunk/bochs/cpu/cpudb/intel/corei7_skylake-x.h 2017-08-09 20:36:17 UTC (rev \
13271) @@ -0,0 +1,69 @@
+/////////////////////////////////////////////////////////////////////////
+// $Id$
+/////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2017 Stanislav Shwartsman
+// Written by Stanislav Shwartsman [sshwarts at sourceforge net]
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA B 02110-1301 USA
+//
+/////////////////////////////////////////////////////////////////////////
+
+#ifndef BX_SKYLAKE_X_CPUID_DEFINITIONS_H
+#define BX_SKYLAKE_X_CPUID_DEFINITIONS_H
+
+#if BX_SUPPORT_X86_64 && BX_SUPPORT_AVX && BX_SUPPORT_EVEX
+
+#include "cpu/cpuid.h"
+
+class corei7_skylake_x_t : public bx_cpuid_t {
+public:
+ corei7_skylake_x_t(BX_CPU_C *cpu);
+ virtual ~corei7_skylake_x_t() {}
+
+ // return CPU name
+ virtual const char *get_name(void) const { return "corei7_skylake_x"; }
+
+#if BX_SUPPORT_VMX >= 2
+ virtual Bit32u get_vmx_extensions_bitmask(void) const;
+#endif
+
+ virtual void get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t \
*leaf) const; +
+ virtual void dump_cpuid(void) const;
+
+private:
+ void get_std_cpuid_leaf_0(cpuid_function_t *leaf) const;
+ void get_std_cpuid_leaf_1(cpuid_function_t *leaf) const;
+ void get_std_cpuid_leaf_2(cpuid_function_t *leaf) const;
+ void get_std_cpuid_leaf_4(Bit32u subfunction, cpuid_function_t *leaf) const;
+ void get_std_cpuid_leaf_5(cpuid_function_t *leaf) const;
+ void get_std_cpuid_leaf_6(cpuid_function_t *leaf) const;
+ void get_std_cpuid_leaf_7(Bit32u subfunction, cpuid_function_t *leaf) const;
+ void get_std_cpuid_leaf_A(cpuid_function_t *leaf) const;
+ void get_std_cpuid_leaf_15(cpuid_function_t *leaf) const;
+ void get_std_cpuid_leaf_16(cpuid_function_t *leaf) const;
+
+ void get_ext_cpuid_leaf_0(cpuid_function_t *leaf) const;
+ void get_ext_cpuid_leaf_1(cpuid_function_t *leaf) const;
+ void get_ext_cpuid_leaf_6(cpuid_function_t *leaf) const;
+ void get_ext_cpuid_leaf_7(cpuid_function_t *leaf) const;
+};
+
+extern bx_cpuid_t *create_corei7_skylake_x_cpuid(BX_CPU_C *cpu);
+
+#endif // BX_SUPPORT_X86_64 && BX_SUPPORT_AVX
+
+#endif
Property changes on: trunk/bochs/cpu/cpudb/intel/corei7_skylake-x.h
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Rev
\ No newline at end of property
Added: trunk/bochs/cpu/cpudb/intel/corei7_skylake-x.txt
===================================================================
--- trunk/bochs/cpu/cpudb/intel/corei7_skylake-x.txt (rev 0)
+++ trunk/bochs/cpu/cpudb/intel/corei7_skylake-x.txt 2017-08-09 20:36:17 UTC (rev \
13271) @@ -0,0 +1,860 @@
+------[ Versions ]------
+
+Program Version : AIDA64 Engineer v5.92.4329 Beta
+BenchDLL Version: 4.3.759-x64
+Windows Version : Microsoft Windows 10 Pro 10.0.15063.502 (64-bit)
+
+------[ CPU Info ]------
+
+CPU Type : HexaCore Intel Core i7-7800X, 3500 MHz (35 x 100)
+CPU Alias : Skylake-X
+CPU Platform : LGA2066
+CPU Stepping : U0
+Instruction Set : x86, x86-64, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, \
AVX2, AVX-512, FMA, AES +CPUID Manufacturer: GenuineIntel
+CPUID CPU Name : Intel(R) Core(TM) i7-7800X CPU @ 3.50GHz
+CPUID Revision : 00050654h
+IA Brand ID : 00h (Unknown)
+Platform ID : 4Fh (LGA2066)
+HTT / CMP Units : 2 / 6
+Max. NUMA Node : 0
+
+Tjmax Temperature : 100 Celsius
+HTC Temperature Limit : 0 Celsius
+CPU TDP : 122 W
+DRAM TDP : 19.5 W
+CPU TDC : 1023 A
+CPU Max Power Limit : 308 W / Unlimited Time
+CPU Power Limit 1 (Long) : 3408.3 W / 8.00 sec (Unlocked)
+CPU Power Limit 2 (Short) : 4090 W / 2.44 ms (Unlocked)
+Max Turbo Boost Multipliers: 2C: 40x, 4C: 40x, 6C: 40x
+
+------[ Motherboard Info ]------
+
+Motherboard ID : <DMI>
+Motherboard Model : Gigabyte GA-X299 UD4
+Motherboard Chipset : Intel Union Point X299, Intel Skylake-X
+
+DMI MB Manufacturer : Gigabyte Technology Co., Ltd.
+DMI MB Product : X299 UD4-CF
+DMI MB Version : x.x
+DMI MB Serial : Default string
+DMI SYS Manufacturer: Gigabyte Technology Co., Ltd.
+DMI SYS Product : X299 UD4
+DMI SYS Version : Default string
+DMI SYS Serial : Default string
+DMI BIOS Version : F4d
+
+
+------[ Logical CPU #0 ]------
+
+allcpu: Package 0 / Core 0 / Thread 0: Valid
+
+CPUID 00000000: 00000016-756E6547-6C65746E-49656E69 [GenuineIntel]
+CPUID 00000001: 00050654-00100800-7FFEFBBF-BFEBFBFF
+CPUID 00000002: 76036301-00F0B5FF-00000000-00C30000
+CPUID 00000003: 00000000-00000000-00000000-00000000
+CPUID 00000004: 1C004121-01C0003F-0000003F-00000000 [SL 00]
+CPUID 00000004: 1C004122-01C0003F-0000003F-00000000 [SL 01]
+CPUID 00000004: 1C004143-03C0003F-000003FF-00000000 [SL 02]
+CPUID 00000004: 1C03C163-0280003F-00002FFF-00000004 [SL 03]
+CPUID 00000005: 00000040-00000040-00000003-00002020
+CPUID 00000006: 00000075-00000002-00000009-00000000
+CPUID 00000007: 00000000-D39FFFFB-00000000-00000000
+CPUID 00000008: 00000000-00000000-00000000-00000000
+CPUID 00000009: 00000000-00000000-00000000-00000000
+CPUID 0000000A: 07300404-00000000-00000000-00000603
+CPUID 0000000B: 00000001-00000002-00000100-00000000 [SL 00]
+CPUID 0000000B: 00000004-0000000C-00000201-00000000 [SL 01]
+CPUID 0000000C: 00000000-00000000-00000000-00000000
+CPUID 0000000D: 000000FF-00000A80-00000A80-00000000 [SL 00]
+CPUID 0000000D: 0000000F-00000A00-00000100-00000000 [SL 01]
+CPUID 0000000D: 00000100-00000240-00000000-00000000 [SL 02]
+CPUID 0000000D: 00000040-000003C0-00000000-00000000 [SL 03]
+CPUID 0000000D: 00000040-00000400-00000000-00000000 [SL 04]
+CPUID 0000000D: 00000040-00000440-00000000-00000000 [SL 05]
+CPUID 0000000D: 00000200-00000480-00000000-00000000 [SL 06]
+CPUID 0000000D: 00000400-00000680-00000000-00000000 [SL 07]
+CPUID 0000000D: 00000080-00000000-00000001-00000000 [SL 08]
+CPUID 0000000E: 00000000-00000000-00000000-00000000
+CPUID 0000000F: 00000000-0000002F-00000000-00000002 [SL 00]
+CPUID 0000000F: 00000000-00006000-0000002F-00000007 [SL 01]
+CPUID 00000010: 00000000-0000000A-00000000-00000000 [SL 00]
+CPUID 00000010: 0000000A-00000600-00000004-0000000F [SL 01]
+CPUID 00000011: 00000000-00000000-00000000-00000000
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 00]
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 01]
+CPUID 00000013: 00000000-00000000-00000000-00000000
+CPUID 00000014: 00000001-0000000F-00000007-00000000 [SL 00]
+CPUID 00000014: 02490002-003F3FFF-00000000-00000000 [SL 01]
+CPUID 00000015: 00000002-00000124-00000000-00000000 [146.00x / 0]
+CPUID 00000016: 00000DAC-00000FA0-00000064-00000000 [3500 / 4000 / 100]
+CPUID 80000000: 80000008-00000000-00000000-00000000
+CPUID 80000001: 00000000-00000000-00000121-2C100000
+CPUID 80000002: 65746E49-2952286C-726F4320-4D542865 [Intel(R) Core(TM]
+CPUID 80000003: 37692029-3038372D-43205830-40205550 [) i7-7800X CPU @]
+CPUID 80000004: 352E3320-7A484730-00000000-00000000 [ 3.50GHz]
+CPUID 80000005: 00000000-00000000-00000000-00000000
+CPUID 80000006: 00000000-00000000-01006040-00000000
+CPUID 80000007: 00000000-00000000-00000000-00000100
+CPUID 80000008: 0000302E-00000000-00000000-00000000
+
+L1 Data Cache: 32 KB, 8-way Associative, 64-byte Line
+L1 Instr. Cache: 32 KB, 8-way Associative, 64-byte Line
+L2 Unified Cache: 1 MB, 16-way Associative, 64-byte Line
+L3 Unified Cache: 8448 KB, 11-way Associative, 64-byte Line
+
+------[ Logical CPU #1 ]------
+
+allcpu: Package 0 / Core 0 / Thread 1: Valid, Virtual
+
+CPUID 00000000: 00000016-756E6547-6C65746E-49656E69 [GenuineIntel]
+CPUID 00000001: 00050654-01100800-7FFEFBBF-BFEBFBFF
+CPUID 00000002: 76036301-00F0B5FF-00000000-00C30000
+CPUID 00000003: 00000000-00000000-00000000-00000000
+CPUID 00000004: 1C004121-01C0003F-0000003F-00000000 [SL 00]
+CPUID 00000004: 1C004122-01C0003F-0000003F-00000000 [SL 01]
+CPUID 00000004: 1C004143-03C0003F-000003FF-00000000 [SL 02]
+CPUID 00000004: 1C03C163-0280003F-00002FFF-00000004 [SL 03]
+CPUID 00000005: 00000040-00000040-00000003-00002020
+CPUID 00000006: 00000075-00000002-00000009-00000000
+CPUID 00000007: 00000000-D39FFFFB-00000000-00000000
+CPUID 00000008: 00000000-00000000-00000000-00000000
+CPUID 00000009: 00000000-00000000-00000000-00000000
+CPUID 0000000A: 07300404-00000000-00000000-00000603
+CPUID 0000000B: 00000001-00000002-00000100-00000001 [SL 00]
+CPUID 0000000B: 00000004-0000000C-00000201-00000001 [SL 01]
+CPUID 0000000C: 00000000-00000000-00000000-00000000
+CPUID 0000000D: 000000FF-00000A80-00000A80-00000000 [SL 00]
+CPUID 0000000D: 0000000F-00000A00-00000100-00000000 [SL 01]
+CPUID 0000000D: 00000100-00000240-00000000-00000000 [SL 02]
+CPUID 0000000D: 00000040-000003C0-00000000-00000000 [SL 03]
+CPUID 0000000D: 00000040-00000400-00000000-00000000 [SL 04]
+CPUID 0000000D: 00000040-00000440-00000000-00000000 [SL 05]
+CPUID 0000000D: 00000200-00000480-00000000-00000000 [SL 06]
+CPUID 0000000D: 00000400-00000680-00000000-00000000 [SL 07]
+CPUID 0000000D: 00000080-00000000-00000001-00000000 [SL 08]
+CPUID 0000000E: 00000000-00000000-00000000-00000000
+CPUID 0000000F: 00000000-0000002F-00000000-00000002 [SL 00]
+CPUID 0000000F: 00000000-00006000-0000002F-00000007 [SL 01]
+CPUID 00000010: 00000000-0000000A-00000000-00000000 [SL 00]
+CPUID 00000010: 0000000A-00000600-00000004-0000000F [SL 01]
+CPUID 00000011: 00000000-00000000-00000000-00000000
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 00]
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 01]
+CPUID 00000013: 00000000-00000000-00000000-00000000
+CPUID 00000014: 00000001-0000000F-00000007-00000000 [SL 00]
+CPUID 00000014: 02490002-003F3FFF-00000000-00000000 [SL 01]
+CPUID 00000015: 00000002-00000124-00000000-00000000 [146.00x / 0]
+CPUID 00000016: 00000DAC-00000FA0-00000064-00000000 [3500 / 4000 / 100]
+CPUID 80000000: 80000008-00000000-00000000-00000000
+CPUID 80000001: 00000000-00000000-00000121-2C100000
+CPUID 80000002: 65746E49-2952286C-726F4320-4D542865 [Intel(R) Core(TM]
+CPUID 80000003: 37692029-3038372D-43205830-40205550 [) i7-7800X CPU @]
+CPUID 80000004: 352E3320-7A484730-00000000-00000000 [ 3.50GHz]
+CPUID 80000005: 00000000-00000000-00000000-00000000
+CPUID 80000006: 00000000-00000000-01006040-00000000
+CPUID 80000007: 00000000-00000000-00000000-00000100
+CPUID 80000008: 0000302E-00000000-00000000-00000000
+
+L1 Data Cache: 32 KB, 8-way Associative, 64-byte Line
+L1 Instr. Cache: 32 KB, 8-way Associative, 64-byte Line
+L2 Unified Cache: 1 MB, 16-way Associative, 64-byte Line
+L3 Unified Cache: 8448 KB, 11-way Associative, 64-byte Line
+
+------[ Logical CPU #2 ]------
+
+allcpu: Package 0 / Core 1 / Thread 0: Valid
+
+CPUID 00000000: 00000016-756E6547-6C65746E-49656E69 [GenuineIntel]
+CPUID 00000001: 00050654-02100800-7FFEFBBF-BFEBFBFF
+CPUID 00000002: 76036301-00F0B5FF-00000000-00C30000
+CPUID 00000003: 00000000-00000000-00000000-00000000
+CPUID 00000004: 1C004121-01C0003F-0000003F-00000000 [SL 00]
+CPUID 00000004: 1C004122-01C0003F-0000003F-00000000 [SL 01]
+CPUID 00000004: 1C004143-03C0003F-000003FF-00000000 [SL 02]
+CPUID 00000004: 1C03C163-0280003F-00002FFF-00000004 [SL 03]
+CPUID 00000005: 00000040-00000040-00000003-00002020
+CPUID 00000006: 00000075-00000002-00000009-00000000
+CPUID 00000007: 00000000-D39FFFFB-00000000-00000000
+CPUID 00000008: 00000000-00000000-00000000-00000000
+CPUID 00000009: 00000000-00000000-00000000-00000000
+CPUID 0000000A: 07300404-00000000-00000000-00000603
+CPUID 0000000B: 00000001-00000002-00000100-00000002 [SL 00]
+CPUID 0000000B: 00000004-0000000C-00000201-00000002 [SL 01]
+CPUID 0000000C: 00000000-00000000-00000000-00000000
+CPUID 0000000D: 000000FF-00000A80-00000A80-00000000 [SL 00]
+CPUID 0000000D: 0000000F-00000A00-00000100-00000000 [SL 01]
+CPUID 0000000D: 00000100-00000240-00000000-00000000 [SL 02]
+CPUID 0000000D: 00000040-000003C0-00000000-00000000 [SL 03]
+CPUID 0000000D: 00000040-00000400-00000000-00000000 [SL 04]
+CPUID 0000000D: 00000040-00000440-00000000-00000000 [SL 05]
+CPUID 0000000D: 00000200-00000480-00000000-00000000 [SL 06]
+CPUID 0000000D: 00000400-00000680-00000000-00000000 [SL 07]
+CPUID 0000000D: 00000080-00000000-00000001-00000000 [SL 08]
+CPUID 0000000E: 00000000-00000000-00000000-00000000
+CPUID 0000000F: 00000000-0000002F-00000000-00000002 [SL 00]
+CPUID 0000000F: 00000000-00006000-0000002F-00000007 [SL 01]
+CPUID 00000010: 00000000-0000000A-00000000-00000000 [SL 00]
+CPUID 00000010: 0000000A-00000600-00000004-0000000F [SL 01]
+CPUID 00000011: 00000000-00000000-00000000-00000000
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 00]
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 01]
+CPUID 00000013: 00000000-00000000-00000000-00000000
+CPUID 00000014: 00000001-0000000F-00000007-00000000 [SL 00]
+CPUID 00000014: 02490002-003F3FFF-00000000-00000000 [SL 01]
+CPUID 00000015: 00000002-00000124-00000000-00000000 [146.00x / 0]
+CPUID 00000016: 00000DAC-00000FA0-00000064-00000000 [3500 / 4000 / 100]
+CPUID 80000000: 80000008-00000000-00000000-00000000
+CPUID 80000001: 00000000-00000000-00000121-2C100000
+CPUID 80000002: 65746E49-2952286C-726F4320-4D542865 [Intel(R) Core(TM]
+CPUID 80000003: 37692029-3038372D-43205830-40205550 [) i7-7800X CPU @]
+CPUID 80000004: 352E3320-7A484730-00000000-00000000 [ 3.50GHz]
+CPUID 80000005: 00000000-00000000-00000000-00000000
+CPUID 80000006: 00000000-00000000-01006040-00000000
+CPUID 80000007: 00000000-00000000-00000000-00000100
+CPUID 80000008: 0000302E-00000000-00000000-00000000
+
+L1 Data Cache: 32 KB, 8-way Associative, 64-byte Line
+L1 Instr. Cache: 32 KB, 8-way Associative, 64-byte Line
+L2 Unified Cache: 1 MB, 16-way Associative, 64-byte Line
+L3 Unified Cache: 8448 KB, 11-way Associative, 64-byte Line
+
+------[ Logical CPU #3 ]------
+
+allcpu: Package 0 / Core 1 / Thread 1: Valid, Virtual
+
+CPUID 00000000: 00000016-756E6547-6C65746E-49656E69 [GenuineIntel]
+CPUID 00000001: 00050654-03100800-7FFEFBBF-BFEBFBFF
+CPUID 00000002: 76036301-00F0B5FF-00000000-00C30000
+CPUID 00000003: 00000000-00000000-00000000-00000000
+CPUID 00000004: 1C004121-01C0003F-0000003F-00000000 [SL 00]
+CPUID 00000004: 1C004122-01C0003F-0000003F-00000000 [SL 01]
+CPUID 00000004: 1C004143-03C0003F-000003FF-00000000 [SL 02]
+CPUID 00000004: 1C03C163-0280003F-00002FFF-00000004 [SL 03]
+CPUID 00000005: 00000040-00000040-00000003-00002020
+CPUID 00000006: 00000075-00000002-00000009-00000000
+CPUID 00000007: 00000000-D39FFFFB-00000000-00000000
+CPUID 00000008: 00000000-00000000-00000000-00000000
+CPUID 00000009: 00000000-00000000-00000000-00000000
+CPUID 0000000A: 07300404-00000000-00000000-00000603
+CPUID 0000000B: 00000001-00000002-00000100-00000003 [SL 00]
+CPUID 0000000B: 00000004-0000000C-00000201-00000003 [SL 01]
+CPUID 0000000C: 00000000-00000000-00000000-00000000
+CPUID 0000000D: 000000FF-00000A80-00000A80-00000000 [SL 00]
+CPUID 0000000D: 0000000F-00000A00-00000100-00000000 [SL 01]
+CPUID 0000000D: 00000100-00000240-00000000-00000000 [SL 02]
+CPUID 0000000D: 00000040-000003C0-00000000-00000000 [SL 03]
+CPUID 0000000D: 00000040-00000400-00000000-00000000 [SL 04]
+CPUID 0000000D: 00000040-00000440-00000000-00000000 [SL 05]
+CPUID 0000000D: 00000200-00000480-00000000-00000000 [SL 06]
+CPUID 0000000D: 00000400-00000680-00000000-00000000 [SL 07]
+CPUID 0000000D: 00000080-00000000-00000001-00000000 [SL 08]
+CPUID 0000000E: 00000000-00000000-00000000-00000000
+CPUID 0000000F: 00000000-0000002F-00000000-00000002 [SL 00]
+CPUID 0000000F: 00000000-00006000-0000002F-00000007 [SL 01]
+CPUID 00000010: 00000000-0000000A-00000000-00000000 [SL 00]
+CPUID 00000010: 0000000A-00000600-00000004-0000000F [SL 01]
+CPUID 00000011: 00000000-00000000-00000000-00000000
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 00]
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 01]
+CPUID 00000013: 00000000-00000000-00000000-00000000
+CPUID 00000014: 00000001-0000000F-00000007-00000000 [SL 00]
+CPUID 00000014: 02490002-003F3FFF-00000000-00000000 [SL 01]
+CPUID 00000015: 00000002-00000124-00000000-00000000 [146.00x / 0]
+CPUID 00000016: 00000DAC-00000FA0-00000064-00000000 [3500 / 4000 / 100]
+CPUID 80000000: 80000008-00000000-00000000-00000000
+CPUID 80000001: 00000000-00000000-00000121-2C100000
+CPUID 80000002: 65746E49-2952286C-726F4320-4D542865 [Intel(R) Core(TM]
+CPUID 80000003: 37692029-3038372D-43205830-40205550 [) i7-7800X CPU @]
+CPUID 80000004: 352E3320-7A484730-00000000-00000000 [ 3.50GHz]
+CPUID 80000005: 00000000-00000000-00000000-00000000
+CPUID 80000006: 00000000-00000000-01006040-00000000
+CPUID 80000007: 00000000-00000000-00000000-00000100
+CPUID 80000008: 0000302E-00000000-00000000-00000000
+
+L1 Data Cache: 32 KB, 8-way Associative, 64-byte Line
+L1 Instr. Cache: 32 KB, 8-way Associative, 64-byte Line
+L2 Unified Cache: 1 MB, 16-way Associative, 64-byte Line
+L3 Unified Cache: 8448 KB, 11-way Associative, 64-byte Line
+
+------[ Logical CPU #4 ]------
+
+allcpu: Package 0 / Core 2 / Thread 0: Valid
+
+CPUID 00000000: 00000016-756E6547-6C65746E-49656E69 [GenuineIntel]
+CPUID 00000001: 00050654-04100800-7FFEFBBF-BFEBFBFF
+CPUID 00000002: 76036301-00F0B5FF-00000000-00C30000
+CPUID 00000003: 00000000-00000000-00000000-00000000
+CPUID 00000004: 1C004121-01C0003F-0000003F-00000000 [SL 00]
+CPUID 00000004: 1C004122-01C0003F-0000003F-00000000 [SL 01]
+CPUID 00000004: 1C004143-03C0003F-000003FF-00000000 [SL 02]
+CPUID 00000004: 1C03C163-0280003F-00002FFF-00000004 [SL 03]
+CPUID 00000005: 00000040-00000040-00000003-00002020
+CPUID 00000006: 00000075-00000002-00000009-00000000
+CPUID 00000007: 00000000-D39FFFFB-00000000-00000000
+CPUID 00000008: 00000000-00000000-00000000-00000000
+CPUID 00000009: 00000000-00000000-00000000-00000000
+CPUID 0000000A: 07300404-00000000-00000000-00000603
+CPUID 0000000B: 00000001-00000002-00000100-00000004 [SL 00]
+CPUID 0000000B: 00000004-0000000C-00000201-00000004 [SL 01]
+CPUID 0000000C: 00000000-00000000-00000000-00000000
+CPUID 0000000D: 000000FF-00000A80-00000A80-00000000 [SL 00]
+CPUID 0000000D: 0000000F-00000A00-00000100-00000000 [SL 01]
+CPUID 0000000D: 00000100-00000240-00000000-00000000 [SL 02]
+CPUID 0000000D: 00000040-000003C0-00000000-00000000 [SL 03]
+CPUID 0000000D: 00000040-00000400-00000000-00000000 [SL 04]
+CPUID 0000000D: 00000040-00000440-00000000-00000000 [SL 05]
+CPUID 0000000D: 00000200-00000480-00000000-00000000 [SL 06]
+CPUID 0000000D: 00000400-00000680-00000000-00000000 [SL 07]
+CPUID 0000000D: 00000080-00000000-00000001-00000000 [SL 08]
+CPUID 0000000E: 00000000-00000000-00000000-00000000
+CPUID 0000000F: 00000000-0000002F-00000000-00000002 [SL 00]
+CPUID 0000000F: 00000000-00006000-0000002F-00000007 [SL 01]
+CPUID 00000010: 00000000-0000000A-00000000-00000000 [SL 00]
+CPUID 00000010: 0000000A-00000600-00000004-0000000F [SL 01]
+CPUID 00000011: 00000000-00000000-00000000-00000000
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 00]
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 01]
+CPUID 00000013: 00000000-00000000-00000000-00000000
+CPUID 00000014: 00000001-0000000F-00000007-00000000 [SL 00]
+CPUID 00000014: 02490002-003F3FFF-00000000-00000000 [SL 01]
+CPUID 00000015: 00000002-00000124-00000000-00000000 [146.00x / 0]
+CPUID 00000016: 00000DAC-00000FA0-00000064-00000000 [3500 / 4000 / 100]
+CPUID 80000000: 80000008-00000000-00000000-00000000
+CPUID 80000001: 00000000-00000000-00000121-2C100000
+CPUID 80000002: 65746E49-2952286C-726F4320-4D542865 [Intel(R) Core(TM]
+CPUID 80000003: 37692029-3038372D-43205830-40205550 [) i7-7800X CPU @]
+CPUID 80000004: 352E3320-7A484730-00000000-00000000 [ 3.50GHz]
+CPUID 80000005: 00000000-00000000-00000000-00000000
+CPUID 80000006: 00000000-00000000-01006040-00000000
+CPUID 80000007: 00000000-00000000-00000000-00000100
+CPUID 80000008: 0000302E-00000000-00000000-00000000
+
+L1 Data Cache: 32 KB, 8-way Associative, 64-byte Line
+L1 Instr. Cache: 32 KB, 8-way Associative, 64-byte Line
+L2 Unified Cache: 1 MB, 16-way Associative, 64-byte Line
+L3 Unified Cache: 8448 KB, 11-way Associative, 64-byte Line
+
+------[ Logical CPU #5 ]------
+
+allcpu: Package 0 / Core 2 / Thread 1: Valid, Virtual
+
+CPUID 00000000: 00000016-756E6547-6C65746E-49656E69 [GenuineIntel]
+CPUID 00000001: 00050654-05100800-7FFEFBBF-BFEBFBFF
+CPUID 00000002: 76036301-00F0B5FF-00000000-00C30000
+CPUID 00000003: 00000000-00000000-00000000-00000000
+CPUID 00000004: 1C004121-01C0003F-0000003F-00000000 [SL 00]
+CPUID 00000004: 1C004122-01C0003F-0000003F-00000000 [SL 01]
+CPUID 00000004: 1C004143-03C0003F-000003FF-00000000 [SL 02]
+CPUID 00000004: 1C03C163-0280003F-00002FFF-00000004 [SL 03]
+CPUID 00000005: 00000040-00000040-00000003-00002020
+CPUID 00000006: 00000075-00000002-00000009-00000000
+CPUID 00000007: 00000000-D39FFFFB-00000000-00000000
+CPUID 00000008: 00000000-00000000-00000000-00000000
+CPUID 00000009: 00000000-00000000-00000000-00000000
+CPUID 0000000A: 07300404-00000000-00000000-00000603
+CPUID 0000000B: 00000001-00000002-00000100-00000005 [SL 00]
+CPUID 0000000B: 00000004-0000000C-00000201-00000005 [SL 01]
+CPUID 0000000C: 00000000-00000000-00000000-00000000
+CPUID 0000000D: 000000FF-00000A80-00000A80-00000000 [SL 00]
+CPUID 0000000D: 0000000F-00000A00-00000100-00000000 [SL 01]
+CPUID 0000000D: 00000100-00000240-00000000-00000000 [SL 02]
+CPUID 0000000D: 00000040-000003C0-00000000-00000000 [SL 03]
+CPUID 0000000D: 00000040-00000400-00000000-00000000 [SL 04]
+CPUID 0000000D: 00000040-00000440-00000000-00000000 [SL 05]
+CPUID 0000000D: 00000200-00000480-00000000-00000000 [SL 06]
+CPUID 0000000D: 00000400-00000680-00000000-00000000 [SL 07]
+CPUID 0000000D: 00000080-00000000-00000001-00000000 [SL 08]
+CPUID 0000000E: 00000000-00000000-00000000-00000000
+CPUID 0000000F: 00000000-0000002F-00000000-00000002 [SL 00]
+CPUID 0000000F: 00000000-00006000-0000002F-00000007 [SL 01]
+CPUID 00000010: 00000000-0000000A-00000000-00000000 [SL 00]
+CPUID 00000010: 0000000A-00000600-00000004-0000000F [SL 01]
+CPUID 00000011: 00000000-00000000-00000000-00000000
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 00]
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 01]
+CPUID 00000013: 00000000-00000000-00000000-00000000
+CPUID 00000014: 00000001-0000000F-00000007-00000000 [SL 00]
+CPUID 00000014: 02490002-003F3FFF-00000000-00000000 [SL 01]
+CPUID 00000015: 00000002-00000124-00000000-00000000 [146.00x / 0]
+CPUID 00000016: 00000DAC-00000FA0-00000064-00000000 [3500 / 4000 / 100]
+CPUID 80000000: 80000008-00000000-00000000-00000000
+CPUID 80000001: 00000000-00000000-00000121-2C100000
+CPUID 80000002: 65746E49-2952286C-726F4320-4D542865 [Intel(R) Core(TM]
+CPUID 80000003: 37692029-3038372D-43205830-40205550 [) i7-7800X CPU @]
+CPUID 80000004: 352E3320-7A484730-00000000-00000000 [ 3.50GHz]
+CPUID 80000005: 00000000-00000000-00000000-00000000
+CPUID 80000006: 00000000-00000000-01006040-00000000
+CPUID 80000007: 00000000-00000000-00000000-00000100
+CPUID 80000008: 0000302E-00000000-00000000-00000000
+
+L1 Data Cache: 32 KB, 8-way Associative, 64-byte Line
+L1 Instr. Cache: 32 KB, 8-way Associative, 64-byte Line
+L2 Unified Cache: 1 MB, 16-way Associative, 64-byte Line
+L3 Unified Cache: 8448 KB, 11-way Associative, 64-byte Line
+
+------[ Logical CPU #6 ]------
+
+allcpu: Package 0 / Core 3 / Thread 0: Valid
+
+CPUID 00000000: 00000016-756E6547-6C65746E-49656E69 [GenuineIntel]
+CPUID 00000001: 00050654-06100800-7FFEFBBF-BFEBFBFF
+CPUID 00000002: 76036301-00F0B5FF-00000000-00C30000
+CPUID 00000003: 00000000-00000000-00000000-00000000
+CPUID 00000004: 1C004121-01C0003F-0000003F-00000000 [SL 00]
+CPUID 00000004: 1C004122-01C0003F-0000003F-00000000 [SL 01]
+CPUID 00000004: 1C004143-03C0003F-000003FF-00000000 [SL 02]
+CPUID 00000004: 1C03C163-0280003F-00002FFF-00000004 [SL 03]
+CPUID 00000005: 00000040-00000040-00000003-00002020
+CPUID 00000006: 00000075-00000002-00000009-00000000
+CPUID 00000007: 00000000-D39FFFFB-00000000-00000000
+CPUID 00000008: 00000000-00000000-00000000-00000000
+CPUID 00000009: 00000000-00000000-00000000-00000000
+CPUID 0000000A: 07300404-00000000-00000000-00000603
+CPUID 0000000B: 00000001-00000002-00000100-00000006 [SL 00]
+CPUID 0000000B: 00000004-0000000C-00000201-00000006 [SL 01]
+CPUID 0000000C: 00000000-00000000-00000000-00000000
+CPUID 0000000D: 000000FF-00000A80-00000A80-00000000 [SL 00]
+CPUID 0000000D: 0000000F-00000A00-00000100-00000000 [SL 01]
+CPUID 0000000D: 00000100-00000240-00000000-00000000 [SL 02]
+CPUID 0000000D: 00000040-000003C0-00000000-00000000 [SL 03]
+CPUID 0000000D: 00000040-00000400-00000000-00000000 [SL 04]
+CPUID 0000000D: 00000040-00000440-00000000-00000000 [SL 05]
+CPUID 0000000D: 00000200-00000480-00000000-00000000 [SL 06]
+CPUID 0000000D: 00000400-00000680-00000000-00000000 [SL 07]
+CPUID 0000000D: 00000080-00000000-00000001-00000000 [SL 08]
+CPUID 0000000E: 00000000-00000000-00000000-00000000
+CPUID 0000000F: 00000000-0000002F-00000000-00000002 [SL 00]
+CPUID 0000000F: 00000000-00006000-0000002F-00000007 [SL 01]
+CPUID 00000010: 00000000-0000000A-00000000-00000000 [SL 00]
+CPUID 00000010: 0000000A-00000600-00000004-0000000F [SL 01]
+CPUID 00000011: 00000000-00000000-00000000-00000000
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 00]
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 01]
+CPUID 00000013: 00000000-00000000-00000000-00000000
+CPUID 00000014: 00000001-0000000F-00000007-00000000 [SL 00]
+CPUID 00000014: 02490002-003F3FFF-00000000-00000000 [SL 01]
+CPUID 00000015: 00000002-00000124-00000000-00000000 [146.00x / 0]
+CPUID 00000016: 00000DAC-00000FA0-00000064-00000000 [3500 / 4000 / 100]
+CPUID 80000000: 80000008-00000000-00000000-00000000
+CPUID 80000001: 00000000-00000000-00000121-2C100000
+CPUID 80000002: 65746E49-2952286C-726F4320-4D542865 [Intel(R) Core(TM]
+CPUID 80000003: 37692029-3038372D-43205830-40205550 [) i7-7800X CPU @]
+CPUID 80000004: 352E3320-7A484730-00000000-00000000 [ 3.50GHz]
+CPUID 80000005: 00000000-00000000-00000000-00000000
+CPUID 80000006: 00000000-00000000-01006040-00000000
+CPUID 80000007: 00000000-00000000-00000000-00000100
+CPUID 80000008: 0000302E-00000000-00000000-00000000
+
+L1 Data Cache: 32 KB, 8-way Associative, 64-byte Line
+L1 Instr. Cache: 32 KB, 8-way Associative, 64-byte Line
+L2 Unified Cache: 1 MB, 16-way Associative, 64-byte Line
+L3 Unified Cache: 8448 KB, 11-way Associative, 64-byte Line
+
+------[ Logical CPU #7 ]------
+
+allcpu: Package 0 / Core 3 / Thread 1: Valid, Virtual
+
+CPUID 00000000: 00000016-756E6547-6C65746E-49656E69 [GenuineIntel]
+CPUID 00000001: 00050654-07100800-7FFEFBBF-BFEBFBFF
+CPUID 00000002: 76036301-00F0B5FF-00000000-00C30000
+CPUID 00000003: 00000000-00000000-00000000-00000000
+CPUID 00000004: 1C004121-01C0003F-0000003F-00000000 [SL 00]
+CPUID 00000004: 1C004122-01C0003F-0000003F-00000000 [SL 01]
+CPUID 00000004: 1C004143-03C0003F-000003FF-00000000 [SL 02]
+CPUID 00000004: 1C03C163-0280003F-00002FFF-00000004 [SL 03]
+CPUID 00000005: 00000040-00000040-00000003-00002020
+CPUID 00000006: 00000075-00000002-00000009-00000000
+CPUID 00000007: 00000000-D39FFFFB-00000000-00000000
+CPUID 00000008: 00000000-00000000-00000000-00000000
+CPUID 00000009: 00000000-00000000-00000000-00000000
+CPUID 0000000A: 07300404-00000000-00000000-00000603
+CPUID 0000000B: 00000001-00000002-00000100-00000007 [SL 00]
+CPUID 0000000B: 00000004-0000000C-00000201-00000007 [SL 01]
+CPUID 0000000C: 00000000-00000000-00000000-00000000
+CPUID 0000000D: 000000FF-00000A80-00000A80-00000000 [SL 00]
+CPUID 0000000D: 0000000F-00000A00-00000100-00000000 [SL 01]
+CPUID 0000000D: 00000100-00000240-00000000-00000000 [SL 02]
+CPUID 0000000D: 00000040-000003C0-00000000-00000000 [SL 03]
+CPUID 0000000D: 00000040-00000400-00000000-00000000 [SL 04]
+CPUID 0000000D: 00000040-00000440-00000000-00000000 [SL 05]
+CPUID 0000000D: 00000200-00000480-00000000-00000000 [SL 06]
+CPUID 0000000D: 00000400-00000680-00000000-00000000 [SL 07]
+CPUID 0000000D: 00000080-00000000-00000001-00000000 [SL 08]
+CPUID 0000000E: 00000000-00000000-00000000-00000000
+CPUID 0000000F: 00000000-0000002F-00000000-00000002 [SL 00]
+CPUID 0000000F: 00000000-00006000-0000002F-00000007 [SL 01]
+CPUID 00000010: 00000000-0000000A-00000000-00000000 [SL 00]
+CPUID 00000010: 0000000A-00000600-00000004-0000000F [SL 01]
+CPUID 00000011: 00000000-00000000-00000000-00000000
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 00]
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 01]
+CPUID 00000013: 00000000-00000000-00000000-00000000
+CPUID 00000014: 00000001-0000000F-00000007-00000000 [SL 00]
+CPUID 00000014: 02490002-003F3FFF-00000000-00000000 [SL 01]
+CPUID 00000015: 00000002-00000124-00000000-00000000 [146.00x / 0]
+CPUID 00000016: 00000DAC-00000FA0-00000064-00000000 [3500 / 4000 / 100]
+CPUID 80000000: 80000008-00000000-00000000-00000000
+CPUID 80000001: 00000000-00000000-00000121-2C100000
+CPUID 80000002: 65746E49-2952286C-726F4320-4D542865 [Intel(R) Core(TM]
+CPUID 80000003: 37692029-3038372D-43205830-40205550 [) i7-7800X CPU @]
+CPUID 80000004: 352E3320-7A484730-00000000-00000000 [ 3.50GHz]
+CPUID 80000005: 00000000-00000000-00000000-00000000
+CPUID 80000006: 00000000-00000000-01006040-00000000
+CPUID 80000007: 00000000-00000000-00000000-00000100
+CPUID 80000008: 0000302E-00000000-00000000-00000000
+
+L1 Data Cache: 32 KB, 8-way Associative, 64-byte Line
+L1 Instr. Cache: 32 KB, 8-way Associative, 64-byte Line
+L2 Unified Cache: 1 MB, 16-way Associative, 64-byte Line
+L3 Unified Cache: 8448 KB, 11-way Associative, 64-byte Line
+
+------[ Logical CPU #8 ]------
+
+allcpu: Package 0 / Core 4 / Thread 0: Valid
+
+CPUID 00000000: 00000016-756E6547-6C65746E-49656E69 [GenuineIntel]
+CPUID 00000001: 00050654-08100800-7FFEFBBF-BFEBFBFF
+CPUID 00000002: 76036301-00F0B5FF-00000000-00C30000
+CPUID 00000003: 00000000-00000000-00000000-00000000
+CPUID 00000004: 1C004121-01C0003F-0000003F-00000000 [SL 00]
+CPUID 00000004: 1C004122-01C0003F-0000003F-00000000 [SL 01]
+CPUID 00000004: 1C004143-03C0003F-000003FF-00000000 [SL 02]
+CPUID 00000004: 1C03C163-0280003F-00002FFF-00000004 [SL 03]
+CPUID 00000005: 00000040-00000040-00000003-00002020
+CPUID 00000006: 00000075-00000002-00000009-00000000
+CPUID 00000007: 00000000-D39FFFFB-00000000-00000000
+CPUID 00000008: 00000000-00000000-00000000-00000000
+CPUID 00000009: 00000000-00000000-00000000-00000000
+CPUID 0000000A: 07300404-00000000-00000000-00000603
+CPUID 0000000B: 00000001-00000002-00000100-00000008 [SL 00]
+CPUID 0000000B: 00000004-0000000C-00000201-00000008 [SL 01]
+CPUID 0000000C: 00000000-00000000-00000000-00000000
+CPUID 0000000D: 000000FF-00000A80-00000A80-00000000 [SL 00]
+CPUID 0000000D: 0000000F-00000A00-00000100-00000000 [SL 01]
+CPUID 0000000D: 00000100-00000240-00000000-00000000 [SL 02]
+CPUID 0000000D: 00000040-000003C0-00000000-00000000 [SL 03]
+CPUID 0000000D: 00000040-00000400-00000000-00000000 [SL 04]
+CPUID 0000000D: 00000040-00000440-00000000-00000000 [SL 05]
+CPUID 0000000D: 00000200-00000480-00000000-00000000 [SL 06]
+CPUID 0000000D: 00000400-00000680-00000000-00000000 [SL 07]
+CPUID 0000000D: 00000080-00000000-00000001-00000000 [SL 08]
+CPUID 0000000E: 00000000-00000000-00000000-00000000
+CPUID 0000000F: 00000000-0000002F-00000000-00000002 [SL 00]
+CPUID 0000000F: 00000000-00006000-0000002F-00000007 [SL 01]
+CPUID 00000010: 00000000-0000000A-00000000-00000000 [SL 00]
+CPUID 00000010: 0000000A-00000600-00000004-0000000F [SL 01]
+CPUID 00000011: 00000000-00000000-00000000-00000000
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 00]
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 01]
+CPUID 00000013: 00000000-00000000-00000000-00000000
+CPUID 00000014: 00000001-0000000F-00000007-00000000 [SL 00]
+CPUID 00000014: 02490002-003F3FFF-00000000-00000000 [SL 01]
+CPUID 00000015: 00000002-00000124-00000000-00000000 [146.00x / 0]
+CPUID 00000016: 00000DAC-00000FA0-00000064-00000000 [3500 / 4000 / 100]
+CPUID 80000000: 80000008-00000000-00000000-00000000
+CPUID 80000001: 00000000-00000000-00000121-2C100000
+CPUID 80000002: 65746E49-2952286C-726F4320-4D542865 [Intel(R) Core(TM]
+CPUID 80000003: 37692029-3038372D-43205830-40205550 [) i7-7800X CPU @]
+CPUID 80000004: 352E3320-7A484730-00000000-00000000 [ 3.50GHz]
+CPUID 80000005: 00000000-00000000-00000000-00000000
+CPUID 80000006: 00000000-00000000-01006040-00000000
+CPUID 80000007: 00000000-00000000-00000000-00000100
+CPUID 80000008: 0000302E-00000000-00000000-00000000
+
+L1 Data Cache: 32 KB, 8-way Associative, 64-byte Line
+L1 Instr. Cache: 32 KB, 8-way Associative, 64-byte Line
+L2 Unified Cache: 1 MB, 16-way Associative, 64-byte Line
+L3 Unified Cache: 8448 KB, 11-way Associative, 64-byte Line
+
+------[ Logical CPU #9 ]------
+
+allcpu: Package 0 / Core 4 / Thread 1: Valid, Virtual
+
+CPUID 00000000: 00000016-756E6547-6C65746E-49656E69 [GenuineIntel]
+CPUID 00000001: 00050654-09100800-7FFEFBBF-BFEBFBFF
+CPUID 00000002: 76036301-00F0B5FF-00000000-00C30000
+CPUID 00000003: 00000000-00000000-00000000-00000000
+CPUID 00000004: 1C004121-01C0003F-0000003F-00000000 [SL 00]
+CPUID 00000004: 1C004122-01C0003F-0000003F-00000000 [SL 01]
+CPUID 00000004: 1C004143-03C0003F-000003FF-00000000 [SL 02]
+CPUID 00000004: 1C03C163-0280003F-00002FFF-00000004 [SL 03]
+CPUID 00000005: 00000040-00000040-00000003-00002020
+CPUID 00000006: 00000075-00000002-00000009-00000000
+CPUID 00000007: 00000000-D39FFFFB-00000000-00000000
+CPUID 00000008: 00000000-00000000-00000000-00000000
+CPUID 00000009: 00000000-00000000-00000000-00000000
+CPUID 0000000A: 07300404-00000000-00000000-00000603
+CPUID 0000000B: 00000001-00000002-00000100-00000009 [SL 00]
+CPUID 0000000B: 00000004-0000000C-00000201-00000009 [SL 01]
+CPUID 0000000C: 00000000-00000000-00000000-00000000
+CPUID 0000000D: 000000FF-00000A80-00000A80-00000000 [SL 00]
+CPUID 0000000D: 0000000F-00000A00-00000100-00000000 [SL 01]
+CPUID 0000000D: 00000100-00000240-00000000-00000000 [SL 02]
+CPUID 0000000D: 00000040-000003C0-00000000-00000000 [SL 03]
+CPUID 0000000D: 00000040-00000400-00000000-00000000 [SL 04]
+CPUID 0000000D: 00000040-00000440-00000000-00000000 [SL 05]
+CPUID 0000000D: 00000200-00000480-00000000-00000000 [SL 06]
+CPUID 0000000D: 00000400-00000680-00000000-00000000 [SL 07]
+CPUID 0000000D: 00000080-00000000-00000001-00000000 [SL 08]
+CPUID 0000000E: 00000000-00000000-00000000-00000000
+CPUID 0000000F: 00000000-0000002F-00000000-00000002 [SL 00]
+CPUID 0000000F: 00000000-00006000-0000002F-00000007 [SL 01]
+CPUID 00000010: 00000000-0000000A-00000000-00000000 [SL 00]
+CPUID 00000010: 0000000A-00000600-00000004-0000000F [SL 01]
+CPUID 00000011: 00000000-00000000-00000000-00000000
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 00]
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 01]
+CPUID 00000013: 00000000-00000000-00000000-00000000
+CPUID 00000014: 00000001-0000000F-00000007-00000000 [SL 00]
+CPUID 00000014: 02490002-003F3FFF-00000000-00000000 [SL 01]
+CPUID 00000015: 00000002-00000124-00000000-00000000 [146.00x / 0]
+CPUID 00000016: 00000DAC-00000FA0-00000064-00000000 [3500 / 4000 / 100]
+CPUID 80000000: 80000008-00000000-00000000-00000000
+CPUID 80000001: 00000000-00000000-00000121-2C100000
+CPUID 80000002: 65746E49-2952286C-726F4320-4D542865 [Intel(R) Core(TM]
+CPUID 80000003: 37692029-3038372D-43205830-40205550 [) i7-7800X CPU @]
+CPUID 80000004: 352E3320-7A484730-00000000-00000000 [ 3.50GHz]
+CPUID 80000005: 00000000-00000000-00000000-00000000
+CPUID 80000006: 00000000-00000000-01006040-00000000
+CPUID 80000007: 00000000-00000000-00000000-00000100
+CPUID 80000008: 0000302E-00000000-00000000-00000000
+
+L1 Data Cache: 32 KB, 8-way Associative, 64-byte Line
+L1 Instr. Cache: 32 KB, 8-way Associative, 64-byte Line
+L2 Unified Cache: 1 MB, 16-way Associative, 64-byte Line
+L3 Unified Cache: 8448 KB, 11-way Associative, 64-byte Line
+
+------[ Logical CPU #10 ]------
+
+allcpu: Package 0 / Core 5 / Thread 0: Valid
+
+CPUID 00000000: 00000016-756E6547-6C65746E-49656E69 [GenuineIntel]
+CPUID 00000001: 00050654-0A100800-7FFEFBBF-BFEBFBFF
+CPUID 00000002: 76036301-00F0B5FF-00000000-00C30000
+CPUID 00000003: 00000000-00000000-00000000-00000000
+CPUID 00000004: 1C004121-01C0003F-0000003F-00000000 [SL 00]
+CPUID 00000004: 1C004122-01C0003F-0000003F-00000000 [SL 01]
+CPUID 00000004: 1C004143-03C0003F-000003FF-00000000 [SL 02]
+CPUID 00000004: 1C03C163-0280003F-00002FFF-00000004 [SL 03]
+CPUID 00000005: 00000040-00000040-00000003-00002020
+CPUID 00000006: 00000075-00000002-00000009-00000000
+CPUID 00000007: 00000000-D39FFFFB-00000000-00000000
+CPUID 00000008: 00000000-00000000-00000000-00000000
+CPUID 00000009: 00000000-00000000-00000000-00000000
+CPUID 0000000A: 07300404-00000000-00000000-00000603
+CPUID 0000000B: 00000001-00000002-00000100-0000000A [SL 00]
+CPUID 0000000B: 00000004-0000000C-00000201-0000000A [SL 01]
+CPUID 0000000C: 00000000-00000000-00000000-00000000
+CPUID 0000000D: 000000FF-00000A80-00000A80-00000000 [SL 00]
+CPUID 0000000D: 0000000F-00000A00-00000100-00000000 [SL 01]
+CPUID 0000000D: 00000100-00000240-00000000-00000000 [SL 02]
+CPUID 0000000D: 00000040-000003C0-00000000-00000000 [SL 03]
+CPUID 0000000D: 00000040-00000400-00000000-00000000 [SL 04]
+CPUID 0000000D: 00000040-00000440-00000000-00000000 [SL 05]
+CPUID 0000000D: 00000200-00000480-00000000-00000000 [SL 06]
+CPUID 0000000D: 00000400-00000680-00000000-00000000 [SL 07]
+CPUID 0000000D: 00000080-00000000-00000001-00000000 [SL 08]
+CPUID 0000000E: 00000000-00000000-00000000-00000000
+CPUID 0000000F: 00000000-0000002F-00000000-00000002 [SL 00]
+CPUID 0000000F: 00000000-00006000-0000002F-00000007 [SL 01]
+CPUID 00000010: 00000000-0000000A-00000000-00000000 [SL 00]
+CPUID 00000010: 0000000A-00000600-00000004-0000000F [SL 01]
+CPUID 00000011: 00000000-00000000-00000000-00000000
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 00]
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 01]
+CPUID 00000013: 00000000-00000000-00000000-00000000
+CPUID 00000014: 00000001-0000000F-00000007-00000000 [SL 00]
+CPUID 00000014: 02490002-003F3FFF-00000000-00000000 [SL 01]
+CPUID 00000015: 00000002-00000124-00000000-00000000 [146.00x / 0]
+CPUID 00000016: 00000DAC-00000FA0-00000064-00000000 [3500 / 4000 / 100]
+CPUID 80000000: 80000008-00000000-00000000-00000000
+CPUID 80000001: 00000000-00000000-00000121-2C100000
+CPUID 80000002: 65746E49-2952286C-726F4320-4D542865 [Intel(R) Core(TM]
+CPUID 80000003: 37692029-3038372D-43205830-40205550 [) i7-7800X CPU @]
+CPUID 80000004: 352E3320-7A484730-00000000-00000000 [ 3.50GHz]
+CPUID 80000005: 00000000-00000000-00000000-00000000
+CPUID 80000006: 00000000-00000000-01006040-00000000
+CPUID 80000007: 00000000-00000000-00000000-00000100
+CPUID 80000008: 0000302E-00000000-00000000-00000000
+
+L1 Data Cache: 32 KB, 8-way Associative, 64-byte Line
+L1 Instr. Cache: 32 KB, 8-way Associative, 64-byte Line
+L2 Unified Cache: 1 MB, 16-way Associative, 64-byte Line
+L3 Unified Cache: 8448 KB, 11-way Associative, 64-byte Line
+
+------[ Logical CPU #11 ]------
+
+allcpu: Package 0 / Core 5 / Thread 1: Valid, Virtual
+
+CPUID 00000000: 00000016-756E6547-6C65746E-49656E69 [GenuineIntel]
+CPUID 00000001: 00050654-0B100800-7FFEFBBF-BFEBFBFF
+CPUID 00000002: 76036301-00F0B5FF-00000000-00C30000
+CPUID 00000003: 00000000-00000000-00000000-00000000
+CPUID 00000004: 1C004121-01C0003F-0000003F-00000000 [SL 00]
+CPUID 00000004: 1C004122-01C0003F-0000003F-00000000 [SL 01]
+CPUID 00000004: 1C004143-03C0003F-000003FF-00000000 [SL 02]
+CPUID 00000004: 1C03C163-0280003F-00002FFF-00000004 [SL 03]
+CPUID 00000005: 00000040-00000040-00000003-00002020
+CPUID 00000006: 00000075-00000002-00000009-00000000
+CPUID 00000007: 00000000-D39FFFFB-00000000-00000000
+CPUID 00000008: 00000000-00000000-00000000-00000000
+CPUID 00000009: 00000000-00000000-00000000-00000000
+CPUID 0000000A: 07300404-00000000-00000000-00000603
+CPUID 0000000B: 00000001-00000002-00000100-0000000B [SL 00]
+CPUID 0000000B: 00000004-0000000C-00000201-0000000B [SL 01]
+CPUID 0000000C: 00000000-00000000-00000000-00000000
+CPUID 0000000D: 000000FF-00000A80-00000A80-00000000 [SL 00]
+CPUID 0000000D: 0000000F-00000A00-00000100-00000000 [SL 01]
+CPUID 0000000D: 00000100-00000240-00000000-00000000 [SL 02]
+CPUID 0000000D: 00000040-000003C0-00000000-00000000 [SL 03]
+CPUID 0000000D: 00000040-00000400-00000000-00000000 [SL 04]
+CPUID 0000000D: 00000040-00000440-00000000-00000000 [SL 05]
+CPUID 0000000D: 00000200-00000480-00000000-00000000 [SL 06]
+CPUID 0000000D: 00000400-00000680-00000000-00000000 [SL 07]
+CPUID 0000000D: 00000080-00000000-00000001-00000000 [SL 08]
+CPUID 0000000E: 00000000-00000000-00000000-00000000
+CPUID 0000000F: 00000000-0000002F-00000000-00000002 [SL 00]
+CPUID 0000000F: 00000000-00006000-0000002F-00000007 [SL 01]
+CPUID 00000010: 00000000-0000000A-00000000-00000000 [SL 00]
+CPUID 00000010: 0000000A-00000600-00000004-0000000F [SL 01]
+CPUID 00000011: 00000000-00000000-00000000-00000000
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 00]
+CPUID 00000012: 00000000-00000000-00000000-00000000 [SL 01]
+CPUID 00000013: 00000000-00000000-00000000-00000000
+CPUID 00000014: 00000001-0000000F-00000007-00000000 [SL 00]
+CPUID 00000014: 02490002-003F3FFF-00000000-00000000 [SL 01]
+CPUID 00000015: 00000002-00000124-00000000-00000000 [146.00x / 0]
+CPUID 00000016: 00000DAC-00000FA0-00000064-00000000 [3500 / 4000 / 100]
+CPUID 80000000: 80000008-00000000-00000000-00000000
+CPUID 80000001: 00000000-00000000-00000121-2C100000
+CPUID 80000002: 65746E49-2952286C-726F4320-4D542865 [Intel(R) Core(TM]
+CPUID 80000003: 37692029-3038372D-43205830-40205550 [) i7-7800X CPU @]
+CPUID 80000004: 352E3320-7A484730-00000000-00000000 [ 3.50GHz]
+CPUID 80000005: 00000000-00000000-00000000-00000000
+CPUID 80000006: 00000000-00000000-01006040-00000000
+CPUID 80000007: 00000000-00000000-00000000-00000100
+CPUID 80000008: 0000302E-00000000-00000000-00000000
+
+L1 Data Cache: 32 KB, 8-way Associative, 64-byte Line
+L1 Instr. Cache: 32 KB, 8-way Associative, 64-byte Line
+L2 Unified Cache: 1 MB, 16-way Associative, 64-byte Line
+L3 Unified Cache: 8448 KB, 11-way Associative, 64-byte Line
+
+------[ All CPUs ]------
+
+CPU 0: APICID 0 / Package 0 / Core 0 / Thread 0: Valid
+CPU 1: APICID 1 / Package 0 / Core 0 / Thread 1: Valid, Virtual
+CPU 2: APICID 2 / Package 0 / Core 1 / Thread 0: Valid
+CPU 3: APICID 3 / Package 0 / Core 1 / Thread 1: Valid, Virtual
+CPU 4: APICID 4 / Package 0 / Core 2 / Thread 0: Valid
+CPU 5: APICID 5 / Package 0 / Core 2 / Thread 1: Valid, Virtual
+CPU 6: APICID 6 / Package 0 / Core 3 / Thread 0: Valid
+CPU 7: APICID 7 / Package 0 / Core 3 / Thread 1: Valid, Virtual
+CPU 8: APICID 8 / Package 0 / Core 4 / Thread 0: Valid
+CPU 9: APICID 9 / Package 0 / Core 4 / Thread 1: Valid, Virtual
+CPU 10: APICID 10 / Package 0 / Core 5 / Thread 0: Valid
+CPU 11: APICID 11 / Package 0 / Core 5 / Thread 1: Valid, Virtual
+
+------[ MSR Registers ]------
+
+MSR 00000017: 0008-0000-0000-0000 [PlatID = 2]
+MSR 0000001B: 0000-0000-FEE0-0900
+MSR 00000035: 0000-0000-0006-000C
+MSR 0000008B: 0200-0026-0000-0000
+MSR 000000CE: 0007-0C2C-F301-2300 [eD = 0]
+MSR 000000E7: 0000-02C5-E251-1A88 [S200]
+MSR 000000E7: 0000-02C5-E280-51D4 [S200]
+MSR 000000E7: 0000-02C5-E2A2-37F0
+MSR 000000E8: 0000-02C5-E29F-033C [S200]
+MSR 000000E8: 0000-02C5-E2C2-9235 [S200]
+MSR 000000E8: 0000-02C5-E2E5-8FCC
+MSR 00000194: 0000-0000-000E-0000
+MSR 00000198: 0000-1EE5-0000-2300 [S200]
+MSR 00000198: 0000-1EE9-0000-2300 [S200]
+MSR 00000198: 0000-1EE9-0000-2300
+MSR 00000199: 0000-0000-0000-2800
+MSR 0000019A: 0000-0000-0000-0000
+MSR 0000019B: 0000-0000-0000-0000
+MSR 0000019C: 0000-0000-883F-0000 [S200]
+MSR 0000019C: 0000-0000-883F-0000 [S200]
+MSR 0000019C: 0000-0000-883F-0000
+MSR 0000019D: 0000-0000-0000-0000
+MSR 000001A0: 0000-0040-0085-0089
+MSR 000001A2: 0000-0000-0064-0A00
+MSR 000001A4: 0000-0000-0000-0000
+MSR 000001AA: 0000-0000-0040-0001
+MSR 000001AC: < FAILED >
+MSR 000001AD: 2828-2828-2828-2828
+MSR 000001AE: 1C18-1410-0C06-0402
+MSR 000001AF: < FAILED >
+MSR 000001B0: 0000-0000-0000-0000
+MSR 000001B1: 0000-0000-883F-0000
+MSR 000001B2: 0000-0000-0000-0000
+MSR 000001FC: 0000-0000-213C-0059
+MSR 00000300: 8000-0000-B264-1600
+MSR 0000030A: 0000-0000-0325-C85D [S200]
+MSR 0000030A: 0000-0000-0325-C85D [S200]
+MSR 0000030A: 0000-0000-0325-C85D
+MSR 0000030B: 0000-0000-0326-B226 [S200]
+MSR 0000030B: 0000-0000-0326-B226 [S200]
+MSR 0000030B: 0000-0000-0326-B226
+MSR 00000480: 00DA-0400-0000-0004
+MSR 00000481: 0000-00FF-0000-0016
+MSR 00000482: FFF9-FFFE-0401-E172
+MSR 00000483: 01FF-FFFF-0003-6DFF
+MSR 00000484: 0003-FFFF-0000-11FF
+MSR 00000485: 0000-0000-7004-C1E7
+MSR 00000486: 0000-0000-8000-0021
+MSR 00000487: 0000-0000-FFFF-FFFF
+MSR 00000488: 0000-0000-0000-2000
+MSR 00000489: 0000-0000-0037-27FF
+MSR 0000048A: 0000-0000-0000-002E
+MSR 0000048B: 025D-3FFF-0000-0000
+MSR 0000048C: 0000-0F01-0673-4141
+MSR 0000048D: 0000-00FF-0000-0016
+MSR 0000048E: FFF9-FFFE-0400-6172
+MSR 0000048F: 01FF-FFFF-0003-6DFB
+MSR 00000490: 0003-FFFF-0000-11FB
+MSR 00000601: 0000-0000-0000-1FF8
+MSR 00000602: < FAILED >
+MSR 00000603: 0016-0000-0017-1717
+MSR 00000604: < FAILED >
+MSR 00000606: 0000-0000-000A-0E03
+MSR 0000060A: 0000-0000-0000-0000
+MSR 0000060B: 0000-0000-0000-0000
+MSR 0000060C: 0000-0000-0000-0000
+MSR 0000060D: 0000-0000-0000-0000
+MSR 00000610: 0043-FFD0-001A-EA82
+MSR 00000611: 0000-0000-B957-FD27 [S200]
+MSR 00000611: 0000-0000-B95A-1DDB [S200]
+MSR 00000611: 0000-0000-B95C-40C7
+MSR 00000613: 0000-0000-0000-0000
+MSR 00000614: 0000-09A0-0168-03D0
+MSR 00000618: 0000-0000-0000-0000
+MSR 00000619: 0000-0000-0E08-40E2 [S200]
+MSR 00000619: 0000-0000-0E08-4939 [S200]
+MSR 00000619: 0000-0000-0E08-52B5
+MSR 0000061B: 0000-0000-0000-0000
+MSR 0000061C: 000F-00A4-0010-009C
+MSR 0000061E: 0000-0000-0000-0000
+MSR 00000620: 0000-0000-0000-0818
+MSR 00000621: 0000-0000-0000-0018
+MSR 00000638: 0000-0000-0000-0000
+MSR 00000639: 0000-0000-0000-0000 [S200]
+MSR 00000639: 0000-0000-0000-0000 [S200]
+MSR 00000639: 0000-0000-0000-0000
+MSR 0000063A: < FAILED >
+MSR 0000063B: < FAILED >
+MSR 00000640: < FAILED >
+MSR 00000641: < FAILED >
+MSR 00000642: < FAILED >
+MSR 00000648: 0000-0000-0000-0023
+MSR 00000649: 00B4-0000-001E-0460
+MSR 0000064A: 00B4-0000-001E-0460
+MSR 0000064B: 0000-0000-0000-0000
+MSR 0000064C: 0000-0000-0000-0000
+MSR 00000690: 0000-0000-0000-0000
+MSR 000006B0: < FAILED >
+MSR 000006B1: 0000-0000-0000-0000
Modified: trunk/bochs/cpu/cpuid.h
===================================================================
--- trunk/bochs/cpu/cpuid.h 2017-08-09 15:42:34 UTC (rev 13270)
+++ trunk/bochs/cpu/cpuid.h 2017-08-09 20:36:17 UTC (rev 13271)
@@ -140,30 +140,31 @@
typedef bx_cpuid_t* (*bx_create_cpuid_method)(BX_CPU_C *cpu);
// cpuid VMX features
-#define BX_VMX_TPR_SHADOW (1 << 0) /* TPR shadow */
-#define BX_VMX_VIRTUAL_NMI (1 << 1) /* Virtual NMI */
-#define BX_VMX_APIC_VIRTUALIZATION (1 << 2) /* APIC Access \
Virtualization */
-#define BX_VMX_WBINVD_VMEXIT (1 << 3) /* WBINVD VMEXIT */
-#define BX_VMX_PERF_GLOBAL_CTRL (1 << 4) /* Save/Restore \
MSR_PERF_GLOBAL_CTRL */
-#define BX_VMX_MONITOR_TRAP_FLAG (1 << 5) /* Monitor trap Flag \
(MTF) */
-#define BX_VMX_X2APIC_VIRTUALIZATION (1 << 6) /* Virtualize X2APIC */
-#define BX_VMX_EPT (1 << 7) /* Extended Page Tables \
(EPT) */
-#define BX_VMX_VPID (1 << 8) /* VPID */
-#define BX_VMX_UNRESTRICTED_GUEST (1 << 9) /* Unrestricted Guest */
-#define BX_VMX_PREEMPTION_TIMER (1 << 10) /* VMX preemption timer \
*/
-#define BX_VMX_SAVE_DEBUGCTL_DISABLE (1 << 11) /* Disable Save/Restore \
of MSR_DEBUGCTL */
-#define BX_VMX_PAT (1 << 12) /* Save/Restore MSR_PAT \
*/
-#define BX_VMX_EFER (1 << 13) /* Save/Restore MSR_EFER \
*/
-#define BX_VMX_DESCRIPTOR_TABLE_EXIT (1 << 14) /* Descriptor Table \
VMEXIT */
-#define BX_VMX_PAUSE_LOOP_EXITING (1 << 15) /* Pause Loop Exiting */
-#define BX_VMX_EPTP_SWITCHING (1 << 16) /* EPTP switching (VM \
Function 0) */
-#define BX_VMX_EPT_ACCESS_DIRTY (1 << 17) /* Extended Page Tables \
(EPT) A/D Bits */
-#define BX_VMX_VINTR_DELIVERY (1 << 18) /* Virtual Interrupt \
Delivery */
-#define BX_VMX_POSTED_INSTERRUPTS (1 << 19) /* Posted Interrupts \
support - not implemented yet */
-#define BX_VMX_VMCS_SHADOWING (1 << 20) /* VMCS Shadowing */
-#define BX_VMX_EPT_EXCEPTION (1 << 21) /* EPT Violation (#VE) \
exception */
-#define BX_VMX_PML (1 << 22) /* Page Modification \
Logging - not implemented yet */
-#define BX_VMX_TSC_SCALING (1 << 23) /* TSC Scaling */
+#define BX_VMX_TPR_SHADOW (1 << 0) /* TPR shadow */
+#define BX_VMX_VIRTUAL_NMI (1 << 1) /* Virtual NMI */
+#define BX_VMX_APIC_VIRTUALIZATION (1 << 2) /* APIC Access \
Virtualization */ +#define BX_VMX_WBINVD_VMEXIT (1 << 3) /* \
WBINVD VMEXIT */ +#define BX_VMX_PERF_GLOBAL_CTRL (1 << 4) /* \
Save/Restore MSR_PERF_GLOBAL_CTRL */ +#define BX_VMX_MONITOR_TRAP_FLAG \
(1 << 5) /* Monitor trap Flag (MTF) */ +#define BX_VMX_X2APIC_VIRTUALIZATION \
(1 << 6) /* Virtualize X2APIC */ +#define BX_VMX_EPT \
(1 << 7) /* Extended Page Tables (EPT) */ +#define BX_VMX_VPID \
(1 << 8) /* VPID */ +#define BX_VMX_UNRESTRICTED_GUEST (1 << 9) \
/* Unrestricted Guest */ +#define BX_VMX_PREEMPTION_TIMER (1 << 10) \
/* VMX preemption timer */ +#define BX_VMX_SAVE_DEBUGCTL_DISABLE (1 << 11) \
/* Disable Save/Restore of MSR_DEBUGCTL */ +#define BX_VMX_PAT \
(1 << 12) /* Save/Restore MSR_PAT */ +#define BX_VMX_EFER \
(1 << 13) /* Save/Restore MSR_EFER */ +#define BX_VMX_DESCRIPTOR_TABLE_EXIT \
(1 << 14) /* Descriptor Table VMEXIT */ +#define BX_VMX_PAUSE_LOOP_EXITING \
(1 << 15) /* Pause Loop Exiting */ +#define BX_VMX_EPTP_SWITCHING \
(1 << 16) /* EPTP switching (VM Function 0) */ +#define BX_VMX_EPT_ACCESS_DIRTY \
(1 << 17) /* Extended Page Tables (EPT) A/D Bits */ +#define BX_VMX_VINTR_DELIVERY \
(1 << 18) /* Virtual Interrupt Delivery */ +#define BX_VMX_POSTED_INSTERRUPTS \
(1 << 19) /* Posted Interrupts support - not implemented yet */ +#define \
BX_VMX_VMCS_SHADOWING (1 << 20) /* VMCS Shadowing */ +#define \
BX_VMX_EPT_EXCEPTION (1 << 21) /* EPT Violation (#VE) exception \
*/ +#define BX_VMX_PML (1 << 22) /* Page Modification \
Logging - not implemented yet */ +#define BX_VMX_TSC_SCALING (1 \
<< 23) /* TSC Scaling */ +#define BX_VMX_SW_INTERRUPT_INJECTION_ILEN_0 (1 << 24) \
/* Allow software interrupt injection with instruction length 0 */
// CPUID defines - STD features CPUID[0x00000001].EDX
// ----------------------------
@@ -312,7 +313,7 @@
// [3:3] BMI1: Advanced Bit Manipulation Extensions
// [4:4] HLE: Hardware Lock Elision
// [5:5] AVX2
-// [6:6] reserved
+// [6:6] FDP Deprecation
// [7:7] SMEP: Supervisor Mode Execution Protection
// [8:8] BMI2: Advanced Bit Manipulation Extensions
// [9:9] Support for Enhanced REP MOVSB/STOSB
Modified: trunk/bochs/cpu/vmcs.cc
===================================================================
--- trunk/bochs/cpu/vmcs.cc 2017-08-09 15:42:34 UTC (rev 13270)
+++ trunk/bochs/cpu/vmcs.cc 2017-08-09 20:36:17 UTC (rev 13271)
@@ -744,6 +744,7 @@
// [17] - EPT 1G pages support
// [20] - INVEPT instruction supported
// [21] - EPT A/D bits supported
+ // [22] - advanced VM-exit information for EPT violations (not implemented yet)
// [25] - INVEPT single-context invalidation supported
// [26] - INVEPT all-context invalidation supported
// [32] - INVVPID instruction supported
Modified: trunk/bochs/cpu/vmx.cc
===================================================================
--- trunk/bochs/cpu/vmx.cc 2017-08-09 15:42:34 UTC (rev 13270)
+++ trunk/bochs/cpu/vmx.cc 2017-08-09 20:36:17 UTC (rev 13271)
@@ -949,7 +949,9 @@
case BX_SOFTWARE_INTERRUPT:
case BX_PRIVILEGED_SOFTWARE_INTERRUPT:
case BX_SOFTWARE_EXCEPTION:
- if (vm->vmentry_instr_length == 0 || vm->vmentry_instr_length > 15) {
+ if ((vm->vmentry_instr_length == 0 && \
!BX_SUPPORT_VMX_EXTENSION(BX_VMX_SW_INTERRUPT_INJECTION_ILEN_0)) || + \
vm->vmentry_instr_length > 15) + {
BX_ERROR(("VMFAIL: VMENTRY bad injected event instr length"));
return VMXERR_VMENTRY_INVALID_VM_CONTROL_FIELD;
}
Modified: trunk/bochs/cpu/vmx.h
===================================================================
--- trunk/bochs/cpu/vmx.h 2017-08-09 15:42:34 UTC (rev 13270)
+++ trunk/bochs/cpu/vmx.h 2017-08-09 20:36:17 UTC (rev 13271)
@@ -695,6 +695,7 @@
#define VMX_VM_EXEC_CTRL3_EPT_VIOLATION_EXCEPTION (1 << 18) /* #VE Exception */
#define VMX_VM_EXEC_CTRL3_SUPPRESS_GUEST_VMX_TRACE (1 << 19) /* Processor Trace */
#define VMX_VM_EXEC_CTRL3_XSAVES_XRSTORS (1 << 20) /* XSAVES */
+#define VMX_VM_EXEC_CTRL3_MBE_CTRL (1 << 22) /* Mode Based \
Execution Control (not implemented yet) */ #define VMX_VM_EXEC_CTRL3_TSC_SCALING \
(1 << 25) /* TSC Scaling */
#define VMX_VM_EXEC_CTRL3_SUPPORTED_BITS \
@@ -1017,33 +1018,38 @@
// [6] - support VMENTER to HLT state
// [7] - support VMENTER to SHUTDOWN state
// [8] - support VMENTER to WAIT_FOR_SIPI state
+// [14] - Intel Processor Trace (Intel PT) can be used in VMX operation
// [15] - RDMSR can be used in SMM to read the SMBASE MSR
// [24:16] - number of CR3 target values supported
// [27:25] - (N+1)*512 - recommended maximum MSRs in MSR store list
// [28] - MSR_IA32_SMM_MONITOR_CTL[2] enable
// [29] - Allow VMWRITE to R/O VMCS fields (to be used with VMCS Shadowing)
-// [31-30] - Reserved
+// [30] - Allow injection of a software interrupt, software exception, or \
privileged +// software exception with an instruction length of 0
+// [31] - Reserved
// --------------------------------------------
// [63:32] - MSEG revision ID used by processor
#if BX_SUPPORT_VMX >= 2
- #define VMX_MISC_STORE_LMA_TO_X86_64_GUEST_VMENTRY_CONTROL (1<<5)
+const Bit32u VMX_MISC_STORE_LMA_TO_X86_64_GUEST_VMENTRY_CONTROL = (1<<5);
#else
- #define VMX_MISC_STORE_LMA_TO_X86_64_GUEST_VMENTRY_CONTROL (0)
+const Bit32u VMX_MISC_STORE_LMA_TO_X86_64_GUEST_VMENTRY_CONTROL = 0;
#endif
-#define VMX_SUPPORT_VMENTER_TO_NON_ACTIVE_STATE ((1<<6) | (1<<7) | (1<<8))
+const Bit32u VMX_SUPPORT_VMENTER_TO_NON_ACTIVE_STATE = (1<<6) | (1<<7) | (1<<8);
-#define VMX_MISC_SUPPORT_VMWRITE_READ_ONLY_FIELDS (1<<29)
+const Bit32u VMX_MISC_SUPPORT_VMWRITE_READ_ONLY_FIELDS = (1<<29);
+const Bit32u VMX_MISC_ALLOW_INJECTION_OF_SW_INTERRUPT_WITH_ILEN_0 = (1<<30);
//Rate to increase VMX preemtion timer
-#define VMX_MISC_PREEMPTION_TIMER_RATE (0)
+const Bit32u VMX_MISC_PREEMPTION_TIMER_RATE = 0;
#define VMX_MSR_MISC (VMX_MISC_PREEMPTION_TIMER_RATE | \
VMX_MISC_STORE_LMA_TO_X86_64_GUEST_VMENTRY_CONTROL | \
VMX_SUPPORT_VMENTER_TO_NON_ACTIVE_STATE | \
(VMX_CR3_TARGET_MAX_CNT << 16) | \
- (BX_SUPPORT_VMX_EXTENSION(BX_VMX_VMCS_SHADOWING) ? \
VMX_MISC_SUPPORT_VMWRITE_READ_ONLY_FIELDS : 0)) + \
(BX_SUPPORT_VMX_EXTENSION(BX_VMX_VMCS_SHADOWING) ? \
VMX_MISC_SUPPORT_VMWRITE_READ_ONLY_FIELDS : 0) | \ + \
(BX_SUPPORT_VMX_EXTENSION(BX_VMX_SW_INTERRUPT_INJECTION_ILEN_0) ? \
VMX_MISC_ALLOW_INJECTION_OF_SW_INTERRUPT_WITH_ILEN_0 : 0))
//
// IA32_VMX_CR0_FIXED0 MSR (0x486) IA32_VMX_CR0_FIXED1 MSR (0x487)
Modified: trunk/bochs/cpudb.h
===================================================================
--- trunk/bochs/cpudb.h 2017-08-09 15:42:34 UTC (rev 13270)
+++ trunk/bochs/cpudb.h 2017-08-09 20:36:17 UTC (rev 13271)
@@ -49,7 +49,10 @@
bx_define_cpudb(corei7_ivy_bridge_3770k)
bx_define_cpudb(corei7_haswell_4770)
bx_define_cpudb(broadwell_ult)
+#if BX_SUPPORT_AVX
+bx_define_cpudb(corei7_skylake_x)
#endif
#endif
#endif
#endif
+#endif
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bochs-cvs mailing list
Bochs-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bochs-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic