From 901b7be1a8e425a2bad0e1f262da328a4621e573 Mon Sep 17 00:00:00 2001 From: Stanislav Shwartsman Date: Thu, 12 Feb 2015 20:18:35 +0000 Subject: [PATCH] code reorg --- bochs/cpu/cpudb/amd_k6_2_chomper.cc | 25 ++--- bochs/cpu/cpudb/athlon64_clawhammer.cc | 51 ++++----- bochs/cpu/cpudb/athlon64_venice.cc | 55 +++++----- bochs/cpu/cpudb/atom_n270.cc | 49 ++++----- bochs/cpu/cpudb/core2_penryn_t9600.cc | 63 +++++------ bochs/cpu/cpudb/core_duo_t2400_yonah.cc | 49 ++++----- bochs/cpu/cpudb/corei5_arrandale_m520.cc | 69 ++++++------ bochs/cpu/cpudb/corei5_lynnfield_750.cc | 67 ++++++------ bochs/cpu/cpudb/corei7_haswell_4770.cc | 109 +++++++++---------- bochs/cpu/cpudb/corei7_ivy_bridge_3770K.cc | 89 +++++++-------- bochs/cpu/cpudb/corei7_sandy_bridge_2600K.cc | 81 +++++++------- bochs/cpu/cpudb/p2_klamath.cc | 31 +++--- bochs/cpu/cpudb/p3_katmai.cc | 35 +++--- bochs/cpu/cpudb/p4_prescott_celeron_336.cc | 53 ++++----- bochs/cpu/cpudb/p4_willamette.cc | 41 +++---- bochs/cpu/cpudb/pentium.cc | 19 ++-- bochs/cpu/cpudb/pentium.h | 2 +- bochs/cpu/cpudb/pentium_mmx.cc | 21 ++-- bochs/cpu/cpudb/phenomx3_8650_toliman.cc | 77 ++++++------- bochs/cpu/cpudb/trinity_apu.cc | 99 ++++++++--------- bochs/cpu/cpudb/turion64_tyler.cc | 65 +++++------ bochs/cpu/cpudb/zambezi.cc | 91 ++++++++-------- bochs/cpu/cpuid.h | 9 -- 23 files changed, 568 insertions(+), 682 deletions(-) diff --git a/bochs/cpu/cpudb/amd_k6_2_chomper.cc b/bochs/cpu/cpudb/amd_k6_2_chomper.cc index af21d4a83..06dfbf6da 100644 --- a/bochs/cpu/cpudb/amd_k6_2_chomper.cc +++ b/bochs/cpu/cpudb/amd_k6_2_chomper.cc @@ -36,23 +36,18 @@ amd_k6_2_chomper_t::amd_k6_2_chomper_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) BX_INFO(("WARNING: 3DNow! is not implemented yet !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_MMX, - BX_ISA_SYSCALL_SYSRET_LEGACY, - BX_ISA_3DNOW, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_MMX); + enable_cpu_extension(BX_ISA_SYSCALL_SYSRET_LEGACY); + enable_cpu_extension(BX_ISA_3DNOW); + enable_cpu_extension(BX_ISA_DEBUG_EXTENSIONS); + enable_cpu_extension(BX_ISA_VME); + enable_cpu_extension(BX_ISA_PSE); #if BX_PHY_ADDRESS_LONG - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_PSE, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); } void amd_k6_2_chomper_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/athlon64_clawhammer.cc b/bochs/cpu/cpudb/athlon64_clawhammer.cc index cf0c1a0f7..0e66f3067 100644 --- a/bochs/cpu/cpudb/athlon64_clawhammer.cc +++ b/bochs/cpu/cpudb/athlon64_clawhammer.cc @@ -36,36 +36,31 @@ athlon64_clawhammer_t::athlon64_clawhammer_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) BX_INFO(("WARNING: 3DNow! is not implemented yet !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_MMX, - BX_ISA_3DNOW, - BX_ISA_SYSCALL_SYSRET_LEGACY, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_P6, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_CLFLUSH, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_MMX); + enable_cpu_extension(BX_ISA_3DNOW); + enable_cpu_extension(BX_ISA_SYSCALL_SYSRET_LEGACY); + enable_cpu_extension(BX_ISA_SYSENTER_SYSEXIT); + enable_cpu_extension(BX_ISA_P6); + enable_cpu_extension(BX_ISA_SSE); + enable_cpu_extension(BX_ISA_SSE2); + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - BX_ISA_LONG_MODE, - BX_ISA_LM_LAHF_SAHF, - BX_ISA_NX, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_MTRR); + enable_cpu_extension(BX_ISA_PAT); + enable_cpu_extension(BX_ISA_XAPIC); + enable_cpu_extension(BX_ISA_LONG_MODE); + enable_cpu_extension(BX_ISA_LM_LAHF_SAHF); + enable_cpu_extension(BX_ISA_NX); } void athlon64_clawhammer_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/athlon64_venice.cc b/bochs/cpu/cpudb/athlon64_venice.cc index 013c270ad..d97e1a2e9 100644 --- a/bochs/cpu/cpudb/athlon64_venice.cc +++ b/bochs/cpu/cpudb/athlon64_venice.cc @@ -36,38 +36,33 @@ athlon64_venice_t::athlon64_venice_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) BX_INFO(("WARNING: 3DNow! is not implemented yet !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_MMX, - BX_ISA_3DNOW, - BX_ISA_SYSCALL_SYSRET_LEGACY, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_P6, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_SSE3, - BX_ISA_CLFLUSH, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_MMX); + enable_cpu_extension(BX_ISA_3DNOW); + enable_cpu_extension(BX_ISA_SYSCALL_SYSRET_LEGACY); + enable_cpu_extension(BX_ISA_SYSENTER_SYSEXIT); + enable_cpu_extension(BX_ISA_P6); + enable_cpu_extension(BX_ISA_SSE); + enable_cpu_extension(BX_ISA_SSE2); + enable_cpu_extension(BX_ISA_SSE3); + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - BX_ISA_LONG_MODE, - BX_ISA_LM_LAHF_SAHF, - BX_ISA_NX, - BX_ISA_FFXSR, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_MTRR); + enable_cpu_extension(BX_ISA_PAT); + enable_cpu_extension(BX_ISA_XAPIC); + enable_cpu_extension(BX_ISA_LONG_MODE); + enable_cpu_extension(BX_ISA_LM_LAHF_SAHF); + enable_cpu_extension(BX_ISA_NX); + enable_cpu_extension(BX_ISA_FFXSR); } void athlon64_venice_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/atom_n270.cc b/bochs/cpu/cpudb/atom_n270.cc index e689526b5..15c3fad11 100644 --- a/bochs/cpu/cpudb/atom_n270.cc +++ b/bochs/cpu/cpudb/atom_n270.cc @@ -35,37 +35,32 @@ atom_n270_t::atom_n270_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) if (! BX_SUPPORT_MONITOR_MWAIT) BX_INFO(("WARNING: MONITOR/MWAIT support is not compiled in !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_MMX, - BX_ISA_P6, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_SSE3, - BX_ISA_SSSE3, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_MMX); + enable_cpu_extension(BX_ISA_P6); + enable_cpu_extension(BX_ISA_SYSENTER_SYSEXIT); + enable_cpu_extension(BX_ISA_SSE); + enable_cpu_extension(BX_ISA_SSE2); + enable_cpu_extension(BX_ISA_SSE3); + enable_cpu_extension(BX_ISA_SSSE3); #if BX_SUPPORT_MONITOR_MWAIT - BX_ISA_MONITOR_MWAIT, + enable_cpu_extension(BX_ISA_MONITOR_MWAIT); #endif - BX_ISA_CLFLUSH, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - BX_ISA_MOVBE, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_MTRR); + enable_cpu_extension(BX_ISA_PAT); + enable_cpu_extension(BX_ISA_XAPIC); + enable_cpu_extension(BX_ISA_MOVBE); } void atom_n270_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/core2_penryn_t9600.cc b/bochs/cpu/cpudb/core2_penryn_t9600.cc index b37f4363e..f979db9bd 100644 --- a/bochs/cpu/cpudb/core2_penryn_t9600.cc +++ b/bochs/cpu/cpudb/core2_penryn_t9600.cc @@ -38,46 +38,41 @@ core2_penryn_t9600_t::core2_penryn_t9600_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) if (! BX_SUPPORT_MONITOR_MWAIT) BX_INFO(("WARNING: MONITOR/MWAIT support is not compiled in !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_MMX, - BX_ISA_P6, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_SSE3, - BX_ISA_SSSE3, - BX_ISA_SSE4_1, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_MMX); + enable_cpu_extension(BX_ISA_P6); + enable_cpu_extension(BX_ISA_SYSENTER_SYSEXIT); + 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); #if BX_SUPPORT_MONITOR_MWAIT - BX_ISA_MONITOR_MWAIT, + enable_cpu_extension(BX_ISA_MONITOR_MWAIT); #endif #if BX_SUPPORT_VMX - BX_ISA_VMX, + enable_cpu_extension(BX_ISA_VMX); #endif - BX_ISA_SMX, - BX_ISA_CLFLUSH, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + enable_cpu_extension(BX_ISA_SMX); + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - BX_ISA_LONG_MODE, - BX_ISA_LM_LAHF_SAHF, - BX_ISA_NX, - BX_ISA_CMPXCHG16B, - BX_ISA_XSAVE, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_MTRR); + enable_cpu_extension(BX_ISA_PAT); + enable_cpu_extension(BX_ISA_XAPIC); + enable_cpu_extension(BX_ISA_LONG_MODE); + enable_cpu_extension(BX_ISA_LM_LAHF_SAHF); + enable_cpu_extension(BX_ISA_NX); + enable_cpu_extension(BX_ISA_CMPXCHG16B); + enable_cpu_extension(BX_ISA_XSAVE); } void core2_penryn_t9600_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/core_duo_t2400_yonah.cc b/bochs/cpu/cpudb/core_duo_t2400_yonah.cc index 302b41377..bc0b4e5d7 100644 --- a/bochs/cpu/cpudb/core_duo_t2400_yonah.cc +++ b/bochs/cpu/cpudb/core_duo_t2400_yonah.cc @@ -35,39 +35,34 @@ core_duo_t2400_yonah_t::core_duo_t2400_yonah_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) if (! BX_SUPPORT_MONITOR_MWAIT) BX_INFO(("WARNING: MONITOR/MWAIT support is not compiled in !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_MMX, - BX_ISA_P6, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_SSE3, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_MMX); + enable_cpu_extension(BX_ISA_P6); + enable_cpu_extension(BX_ISA_SYSENTER_SYSEXIT); + enable_cpu_extension(BX_ISA_SSE); + enable_cpu_extension(BX_ISA_SSE2); + enable_cpu_extension(BX_ISA_SSE3); #if BX_SUPPORT_MONITOR_MWAIT - BX_ISA_MONITOR_MWAIT, + enable_cpu_extension(BX_ISA_MONITOR_MWAIT); #endif #if BX_SUPPORT_VMX - BX_ISA_VMX, + enable_cpu_extension(BX_ISA_VMX); #endif - BX_ISA_CLFLUSH, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - BX_ISA_NX, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_MTRR); + enable_cpu_extension(BX_ISA_PAT); + enable_cpu_extension(BX_ISA_XAPIC); + enable_cpu_extension(BX_ISA_NX); } void core_duo_t2400_yonah_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/corei5_arrandale_m520.cc b/bochs/cpu/cpudb/corei5_arrandale_m520.cc index f61b8ba28..be660fd4c 100644 --- a/bochs/cpu/cpudb/corei5_arrandale_m520.cc +++ b/bochs/cpu/cpudb/corei5_arrandale_m520.cc @@ -41,49 +41,44 @@ corei5_arrandale_m520_t::corei5_arrandale_m520_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) if (! BX_SUPPORT_MONITOR_MWAIT) BX_INFO(("WARNING: MONITOR/MWAIT support is not compiled in !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_MMX, - BX_ISA_P6, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_SSE3, - BX_ISA_SSSE3, - BX_ISA_SSE4_1, - BX_ISA_SSE4_2, - BX_ISA_POPCNT, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_MMX); + enable_cpu_extension(BX_ISA_P6); + enable_cpu_extension(BX_ISA_SYSENTER_SYSEXIT); + 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 - BX_ISA_MONITOR_MWAIT, + enable_cpu_extension(BX_ISA_MONITOR_MWAIT); #endif #if BX_SUPPORT_VMX >= 2 - BX_ISA_VMX, + enable_cpu_extension(BX_ISA_VMX); #endif - BX_ISA_SMX, - BX_ISA_CLFLUSH, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + enable_cpu_extension(BX_ISA_SMX); + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - BX_ISA_LONG_MODE, - BX_ISA_LM_LAHF_SAHF, - BX_ISA_NX, - BX_ISA_CMPXCHG16B, - BX_ISA_RDTSCP, - BX_ISA_AES_PCLMULQDQ, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_MTRR); + enable_cpu_extension(BX_ISA_PAT); + enable_cpu_extension(BX_ISA_XAPIC); + enable_cpu_extension(BX_ISA_LONG_MODE); + enable_cpu_extension(BX_ISA_LM_LAHF_SAHF); + enable_cpu_extension(BX_ISA_NX); + enable_cpu_extension(BX_ISA_CMPXCHG16B); + enable_cpu_extension(BX_ISA_RDTSCP); + enable_cpu_extension(BX_ISA_AES_PCLMULQDQ); } void corei5_arrandale_m520_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/corei5_lynnfield_750.cc b/bochs/cpu/cpudb/corei5_lynnfield_750.cc index f9613db1e..c347d5ef6 100644 --- a/bochs/cpu/cpudb/corei5_lynnfield_750.cc +++ b/bochs/cpu/cpudb/corei5_lynnfield_750.cc @@ -41,48 +41,43 @@ corei5_lynnfield_750_t::corei5_lynnfield_750_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) if (! BX_SUPPORT_MONITOR_MWAIT) BX_INFO(("WARNING: MONITOR/MWAIT support is not compiled in !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_MMX, - BX_ISA_P6, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_SSE3, - BX_ISA_SSSE3, - BX_ISA_SSE4_1, - BX_ISA_SSE4_2, - BX_ISA_POPCNT, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_MMX); + enable_cpu_extension(BX_ISA_P6); + enable_cpu_extension(BX_ISA_SYSENTER_SYSEXIT); + 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 - BX_ISA_MONITOR_MWAIT, + enable_cpu_extension(BX_ISA_MONITOR_MWAIT); #endif #if BX_SUPPORT_VMX >= 2 - BX_ISA_VMX, + enable_cpu_extension(BX_ISA_VMX); #endif - BX_ISA_SMX, - BX_ISA_CLFLUSH, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + enable_cpu_extension(BX_ISA_SMX); + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - BX_ISA_LONG_MODE, - BX_ISA_LM_LAHF_SAHF, - BX_ISA_NX, - BX_ISA_CMPXCHG16B, - BX_ISA_RDTSCP, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_MTRR); + enable_cpu_extension(BX_ISA_PAT); + enable_cpu_extension(BX_ISA_XAPIC); + enable_cpu_extension(BX_ISA_LONG_MODE); + enable_cpu_extension(BX_ISA_LM_LAHF_SAHF); + enable_cpu_extension(BX_ISA_NX); + enable_cpu_extension(BX_ISA_CMPXCHG16B); + enable_cpu_extension(BX_ISA_RDTSCP); } void corei5_lynnfield_750_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/corei7_haswell_4770.cc b/bochs/cpu/cpudb/corei7_haswell_4770.cc index c009de474..c7eb8019e 100644 --- a/bochs/cpu/cpudb/corei7_haswell_4770.cc +++ b/bochs/cpu/cpudb/corei7_haswell_4770.cc @@ -43,69 +43,64 @@ corei7_haswell_4770_t::corei7_haswell_4770_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) BX_INFO(("WARNING: RDRAND would not produce true random numbers !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_P6, - BX_ISA_MMX, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_CLFLUSH, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - BX_ISA_X2APIC, - BX_ISA_LONG_MODE, - BX_ISA_LM_LAHF_SAHF, - BX_ISA_CMPXCHG16B, - BX_ISA_NX, - BX_ISA_1G_PAGES, - BX_ISA_PCID, - BX_ISA_TSC_DEADLINE, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_SSE3, - BX_ISA_SSSE3, - BX_ISA_SSE4_1, - BX_ISA_SSE4_2, - BX_ISA_POPCNT, + 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 - BX_ISA_MONITOR_MWAIT, + enable_cpu_extension(BX_ISA_MONITOR_MWAIT); #endif #if BX_SUPPORT_VMX >= 2 - BX_ISA_VMX, + enable_cpu_extension(BX_ISA_VMX); #endif - /* BX_ISA_SMX, */ - BX_ISA_RDTSCP, - BX_ISA_XSAVE, - BX_ISA_XSAVEOPT, - BX_ISA_AES_PCLMULQDQ, - BX_ISA_MOVBE, - BX_ISA_AVX, - BX_ISA_AVX_F16C, - BX_ISA_AVX2, - BX_ISA_AVX_FMA, - BX_ISA_LZCNT, - BX_ISA_BMI1, - BX_ISA_BMI2, - BX_ISA_FSGSBASE, - BX_ISA_INVPCID, - BX_ISA_SMEP, - BX_ISA_RDRAND, - BX_ISA_TSC_DEADLINE, - BX_ISA_FCS_FDS_DEPRECATION, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); +//enable_cpu_extension(BX_ISA_SMX); + 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); } void corei7_haswell_4770_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/corei7_ivy_bridge_3770K.cc b/bochs/cpu/cpudb/corei7_ivy_bridge_3770K.cc index 76f9dc552..60e5fe4a2 100644 --- a/bochs/cpu/cpudb/corei7_ivy_bridge_3770K.cc +++ b/bochs/cpu/cpudb/corei7_ivy_bridge_3770K.cc @@ -43,59 +43,54 @@ corei7_ivy_bridge_3770k_t::corei7_ivy_bridge_3770k_t(BX_CPU_C *cpu): bx_cpuid_t( BX_INFO(("WARNING: RDRAND would not produce true random numbers !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_P6, - BX_ISA_MMX, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_CLFLUSH, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - BX_ISA_X2APIC, - BX_ISA_LONG_MODE, - BX_ISA_LM_LAHF_SAHF, - BX_ISA_CMPXCHG16B, - BX_ISA_NX, - BX_ISA_PCID, - BX_ISA_TSC_DEADLINE, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_SSE3, - BX_ISA_SSSE3, - BX_ISA_SSE4_1, - BX_ISA_SSE4_2, - BX_ISA_POPCNT, + 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_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 - BX_ISA_MONITOR_MWAIT, + enable_cpu_extension(BX_ISA_MONITOR_MWAIT); #endif #if BX_SUPPORT_VMX >= 2 - BX_ISA_VMX, + enable_cpu_extension(BX_ISA_VMX); #endif - /* BX_ISA_SMX, */ - BX_ISA_RDTSCP, - BX_ISA_XSAVE, - BX_ISA_XSAVEOPT, - BX_ISA_AES_PCLMULQDQ, - BX_ISA_AVX, - BX_ISA_AVX_F16C, - BX_ISA_FSGSBASE, - BX_ISA_SMEP, - BX_ISA_RDRAND, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); +//enable_cpu_extension(BX_ISA_SMX); + 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_AVX); + enable_cpu_extension(BX_ISA_AVX_F16C); + enable_cpu_extension(BX_ISA_FSGSBASE); + enable_cpu_extension(BX_ISA_SMEP); + enable_cpu_extension(BX_ISA_RDRAND); } void corei7_ivy_bridge_3770k_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/corei7_sandy_bridge_2600K.cc b/bochs/cpu/cpudb/corei7_sandy_bridge_2600K.cc index 2599c35db..cd1173cf1 100644 --- a/bochs/cpu/cpudb/corei7_sandy_bridge_2600K.cc +++ b/bochs/cpu/cpudb/corei7_sandy_bridge_2600K.cc @@ -41,57 +41,52 @@ corei7_sandy_bridge_2600k_t::corei7_sandy_bridge_2600k_t(BX_CPU_C *cpu): bx_cpui if (! BX_SUPPORT_MONITOR_MWAIT) BX_INFO(("WARNING: MONITOR/MWAIT support is not compiled in !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_P6, - BX_ISA_MMX, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_CLFLUSH, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - /* BX_ISA_X2APIC, */ - BX_ISA_LONG_MODE, - BX_ISA_LM_LAHF_SAHF, - BX_ISA_CMPXCHG16B, - BX_ISA_NX, - BX_ISA_PCID, - BX_ISA_TSC_DEADLINE, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_SSE3, - BX_ISA_SSSE3, - BX_ISA_SSE4_1, - BX_ISA_SSE4_2, - BX_ISA_POPCNT, + 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_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 - BX_ISA_MONITOR_MWAIT, + enable_cpu_extension(BX_ISA_MONITOR_MWAIT); #endif #if BX_SUPPORT_VMX >= 2 - BX_ISA_VMX, + enable_cpu_extension(BX_ISA_VMX); #endif - /* BX_ISA_SMX, */ - BX_ISA_RDTSCP, - BX_ISA_XSAVE, - BX_ISA_XSAVEOPT, - BX_ISA_AES_PCLMULQDQ, +//enable_cpu_extension(BX_ISA_SMX); + 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); #if BX_SUPPORT_AVX - BX_ISA_AVX, + enable_cpu_extension(BX_ISA_AVX); #endif - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); } void corei7_sandy_bridge_2600k_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/p2_klamath.cc b/bochs/cpu/cpudb/p2_klamath.cc index 4775aa0d9..a1faebdc5 100644 --- a/bochs/cpu/cpudb/p2_klamath.cc +++ b/bochs/cpu/cpudb/p2_klamath.cc @@ -31,26 +31,21 @@ p2_klamath_t::p2_klamath_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) { - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_MMX, - BX_ISA_P6, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_MMX); + enable_cpu_extension(BX_ISA_P6); + enable_cpu_extension(BX_ISA_SYSENTER_SYSEXIT); + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_MTRR); } void p2_klamath_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/p3_katmai.cc b/bochs/cpu/cpudb/p3_katmai.cc index caab2ddfc..e9c853f18 100644 --- a/bochs/cpu/cpudb/p3_katmai.cc +++ b/bochs/cpu/cpudb/p3_katmai.cc @@ -31,28 +31,23 @@ p3_katmai_t::p3_katmai_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) { - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_MMX, - BX_ISA_P6, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_SSE, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_MMX); + enable_cpu_extension(BX_ISA_P6); + enable_cpu_extension(BX_ISA_SYSENTER_SYSEXIT); + enable_cpu_extension(BX_ISA_SSE); + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_MTRR); + enable_cpu_extension(BX_ISA_PAT); } void p3_katmai_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/p4_prescott_celeron_336.cc b/bochs/cpu/cpudb/p4_prescott_celeron_336.cc index 5d98d279d..c0ef63e12 100644 --- a/bochs/cpu/cpudb/p4_prescott_celeron_336.cc +++ b/bochs/cpu/cpudb/p4_prescott_celeron_336.cc @@ -37,39 +37,34 @@ p4_prescott_celeron_336_t::p4_prescott_celeron_336_t(BX_CPU_C *cpu): bx_cpuid_t( if (! BX_SUPPORT_MONITOR_MWAIT) BX_INFO(("WARNING: MONITOR/MWAIT support is not compiled in !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_MMX, - BX_ISA_P6, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_SSE3, - BX_ISA_SSSE3, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_MMX); + enable_cpu_extension(BX_ISA_P6); + enable_cpu_extension(BX_ISA_SYSENTER_SYSEXIT); + enable_cpu_extension(BX_ISA_SSE); + enable_cpu_extension(BX_ISA_SSE2); + enable_cpu_extension(BX_ISA_SSE3); + enable_cpu_extension(BX_ISA_SSSE3); #if BX_SUPPORT_MONITOR_MWAIT - BX_ISA_MONITOR_MWAIT, + enable_cpu_extension(BX_ISA_MONITOR_MWAIT); #endif - BX_ISA_CLFLUSH, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - BX_ISA_LONG_MODE, - BX_ISA_NX, - BX_ISA_CMPXCHG16B, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_MTRR); + enable_cpu_extension(BX_ISA_PAT); + enable_cpu_extension(BX_ISA_XAPIC); + enable_cpu_extension(BX_ISA_LONG_MODE); + enable_cpu_extension(BX_ISA_NX); + enable_cpu_extension(BX_ISA_CMPXCHG16B); } void p4_prescott_celeron_336_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/p4_willamette.cc b/bochs/cpu/cpudb/p4_willamette.cc index 3864e6afb..3deb84384 100644 --- a/bochs/cpu/cpudb/p4_willamette.cc +++ b/bochs/cpu/cpudb/p4_willamette.cc @@ -31,31 +31,26 @@ p4_willamette_t::p4_willamette_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) { - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_MMX, - BX_ISA_P6, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_CLFLUSH, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_MMX); + enable_cpu_extension(BX_ISA_P6); + enable_cpu_extension(BX_ISA_SYSENTER_SYSEXIT); + enable_cpu_extension(BX_ISA_SSE); + enable_cpu_extension(BX_ISA_SSE2); + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_MTRR); + enable_cpu_extension(BX_ISA_PAT); + enable_cpu_extension(BX_ISA_XAPIC); } void p4_willamette_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/pentium.cc b/bochs/cpu/cpudb/pentium.cc index 5c7b374b3..0e05ec36c 100644 --- a/bochs/cpu/cpudb/pentium.cc +++ b/bochs/cpu/cpudb/pentium.cc @@ -34,20 +34,15 @@ pentium_t::pentium_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) if (BX_CPU_LEVEL < 5) BX_PANIC(("Pentium should be compiled with BX_CPU_LEVEL=5 or higher")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_DEBUG_EXTENSIONS); + enable_cpu_extension(BX_ISA_VME); #if BX_PHY_ADDRESS_LONG - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_PSE, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_PSE); } void pentium_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/pentium.h b/bochs/cpu/cpudb/pentium.h index 45eda9076..7331e50e4 100644 --- a/bochs/cpu/cpudb/pentium.h +++ b/bochs/cpu/cpudb/pentium.h @@ -2,7 +2,7 @@ // $Id$ ///////////////////////////////////////////////////////////////////////// // -// Copyright (c) 2011-2014 Stanislav Shwartsman +// Copyright (c) 2015 Stanislav Shwartsman // Written by Stanislav Shwartsman [sshwarts at sourceforge net] // // This library is free software; you can redistribute it and/or diff --git a/bochs/cpu/cpudb/pentium_mmx.cc b/bochs/cpu/cpudb/pentium_mmx.cc index f8b11faeb..971ab08ed 100644 --- a/bochs/cpu/cpudb/pentium_mmx.cc +++ b/bochs/cpu/cpudb/pentium_mmx.cc @@ -34,21 +34,16 @@ pentium_mmx_t::pentium_mmx_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) if (BX_CPU_LEVEL < 5) BX_PANIC(("Pentium MMX should be compiled with BX_CPU_LEVEL=5 or higher")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_MMX, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_MMX); + enable_cpu_extension(BX_ISA_DEBUG_EXTENSIONS); + enable_cpu_extension(BX_ISA_VME); #if BX_PHY_ADDRESS_LONG - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_PSE, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_PSE); } void pentium_mmx_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/phenomx3_8650_toliman.cc b/bochs/cpu/cpudb/phenomx3_8650_toliman.cc index 857a4d2c8..d8572fc28 100644 --- a/bochs/cpu/cpudb/phenomx3_8650_toliman.cc +++ b/bochs/cpu/cpudb/phenomx3_8650_toliman.cc @@ -43,53 +43,48 @@ phenom_8650_toliman_t::phenom_8650_toliman_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) if (! BX_SUPPORT_MONITOR_MWAIT) BX_INFO(("WARNING: MONITOR/MWAIT support is not compiled in !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_MMX, - BX_ISA_3DNOW, - BX_ISA_SYSCALL_SYSRET_LEGACY, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_P6, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_SSE3, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_MMX); + enable_cpu_extension(BX_ISA_3DNOW); + enable_cpu_extension(BX_ISA_SYSCALL_SYSRET_LEGACY); + enable_cpu_extension(BX_ISA_SYSENTER_SYSEXIT); + enable_cpu_extension(BX_ISA_P6); + enable_cpu_extension(BX_ISA_SSE); + enable_cpu_extension(BX_ISA_SSE2); + enable_cpu_extension(BX_ISA_SSE3); #if BX_SUPPORT_MONITOR_MWAIT - BX_ISA_MONITOR_MWAIT, + enable_cpu_extension(BX_ISA_MONITOR_MWAIT); #endif - BX_ISA_CLFLUSH, - BX_ISA_POPCNT, - BX_ISA_LZCNT, - BX_ISA_SSE4A, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + enable_cpu_extension(BX_ISA_CLFLUSH); + enable_cpu_extension(BX_ISA_POPCNT); + enable_cpu_extension(BX_ISA_LZCNT); + enable_cpu_extension(BX_ISA_SSE4A); + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - BX_ISA_LONG_MODE, - BX_ISA_LM_LAHF_SAHF, - BX_ISA_NX, - BX_ISA_FFXSR, - BX_ISA_CMPXCHG16B, - BX_ISA_1G_PAGES, - BX_ISA_MISALIGNED_SSE, - BX_ISA_RDTSCP, + enable_cpu_extension(BX_ISA_MTRR); + enable_cpu_extension(BX_ISA_PAT); + enable_cpu_extension(BX_ISA_XAPIC); + enable_cpu_extension(BX_ISA_LONG_MODE); + enable_cpu_extension(BX_ISA_LM_LAHF_SAHF); + enable_cpu_extension(BX_ISA_NX); + enable_cpu_extension(BX_ISA_FFXSR); + enable_cpu_extension(BX_ISA_CMPXCHG16B); + enable_cpu_extension(BX_ISA_1G_PAGES); + enable_cpu_extension(BX_ISA_MISALIGNED_SSE); + enable_cpu_extension(BX_ISA_RDTSCP); #if BX_SUPPORT_SVM - BX_ISA_SVM, + enable_cpu_extension(BX_ISA_SVM); #endif - BX_ISA_ALT_MOV_CR8, - BX_ISA_XAPIC_EXT, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_ALT_MOV_CR8); + enable_cpu_extension(BX_ISA_XAPIC_EXT); } void phenom_8650_toliman_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/trinity_apu.cc b/bochs/cpu/cpudb/trinity_apu.cc index 9c5e6ee21..8bfb85526 100644 --- a/bochs/cpu/cpudb/trinity_apu.cc +++ b/bochs/cpu/cpudb/trinity_apu.cc @@ -43,64 +43,59 @@ trinity_apu_t::trinity_apu_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) if (! BX_SUPPORT_MONITOR_MWAIT) BX_INFO(("WARNING: MONITOR/MWAIT support is not compiled in !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_P6, - BX_ISA_MMX, - BX_ISA_SYSCALL_SYSRET_LEGACY, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_CLFLUSH, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + 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_SYSCALL_SYSRET_LEGACY); + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - BX_ISA_LONG_MODE, - BX_ISA_LM_LAHF_SAHF, - BX_ISA_CMPXCHG16B, - BX_ISA_NX, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_SSE3, - BX_ISA_SSSE3, - BX_ISA_SSE4_1, - BX_ISA_SSE4_2, - BX_ISA_LZCNT, - BX_ISA_POPCNT, - BX_ISA_SSE4A, + enable_cpu_extension(BX_ISA_MTRR); + enable_cpu_extension(BX_ISA_PAT); + enable_cpu_extension(BX_ISA_XAPIC); + 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_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_LZCNT); + enable_cpu_extension(BX_ISA_POPCNT); + enable_cpu_extension(BX_ISA_SSE4A); #if BX_SUPPORT_MONITOR_MWAIT - BX_ISA_MONITOR_MWAIT, + enable_cpu_extension(BX_ISA_MONITOR_MWAIT); #endif - BX_ISA_RDTSCP, - BX_ISA_XSAVE, - BX_ISA_AES_PCLMULQDQ, - BX_ISA_AVX, - BX_ISA_AVX_F16C, - BX_ISA_AVX_FMA, - BX_ISA_FMA4, - BX_ISA_XOP, - BX_ISA_TBM, - BX_ISA_BMI1, + enable_cpu_extension(BX_ISA_RDTSCP); + enable_cpu_extension(BX_ISA_XSAVE); + enable_cpu_extension(BX_ISA_AES_PCLMULQDQ); + enable_cpu_extension(BX_ISA_AVX); + enable_cpu_extension(BX_ISA_AVX_F16C); + enable_cpu_extension(BX_ISA_AVX_FMA); + enable_cpu_extension(BX_ISA_FMA4); + enable_cpu_extension(BX_ISA_XOP); + enable_cpu_extension(BX_ISA_TBM); + enable_cpu_extension(BX_ISA_BMI1); #if BX_SUPPORT_SVM - BX_ISA_SVM, + enable_cpu_extension(BX_ISA_SVM); #endif - BX_ISA_FFXSR, - BX_ISA_1G_PAGES, - BX_ISA_MISALIGNED_SSE, - BX_ISA_ALT_MOV_CR8, - BX_ISA_XAPIC_EXT, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_FFXSR); + enable_cpu_extension(BX_ISA_1G_PAGES); + enable_cpu_extension(BX_ISA_MISALIGNED_SSE); + enable_cpu_extension(BX_ISA_ALT_MOV_CR8); + enable_cpu_extension(BX_ISA_XAPIC_EXT); } void trinity_apu_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/turion64_tyler.cc b/bochs/cpu/cpudb/turion64_tyler.cc index f64e22502..46acafc72 100644 --- a/bochs/cpu/cpudb/turion64_tyler.cc +++ b/bochs/cpu/cpudb/turion64_tyler.cc @@ -39,45 +39,40 @@ turion64_tyler_t::turion64_tyler_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) if (! BX_SUPPORT_SVM) BX_INFO(("WARNING: SVM Support is not compiled in !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_MMX, - BX_ISA_3DNOW, - BX_ISA_SYSCALL_SYSRET_LEGACY, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_P6, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_SSE3, - BX_ISA_CLFLUSH, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + enable_cpu_extension(BX_ISA_X87); + enable_cpu_extension(BX_ISA_486); + enable_cpu_extension(BX_ISA_PENTIUM); + enable_cpu_extension(BX_ISA_MMX); + enable_cpu_extension(BX_ISA_3DNOW); + enable_cpu_extension(BX_ISA_SYSCALL_SYSRET_LEGACY); + enable_cpu_extension(BX_ISA_SYSENTER_SYSEXIT); + enable_cpu_extension(BX_ISA_P6); + enable_cpu_extension(BX_ISA_SSE); + enable_cpu_extension(BX_ISA_SSE2); + enable_cpu_extension(BX_ISA_SSE3); + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - BX_ISA_LONG_MODE, - BX_ISA_LM_LAHF_SAHF, - BX_ISA_NX, - BX_ISA_FFXSR, - BX_ISA_CMPXCHG16B, - BX_ISA_RDTSCP, + enable_cpu_extension(BX_ISA_MTRR); + enable_cpu_extension(BX_ISA_PAT); + enable_cpu_extension(BX_ISA_XAPIC); + enable_cpu_extension(BX_ISA_LONG_MODE); + enable_cpu_extension(BX_ISA_LM_LAHF_SAHF); + enable_cpu_extension(BX_ISA_NX); + enable_cpu_extension(BX_ISA_FFXSR); + enable_cpu_extension(BX_ISA_CMPXCHG16B); + enable_cpu_extension(BX_ISA_RDTSCP); #if BX_SUPPORT_SVM - BX_ISA_SVM, + enable_cpu_extension(BX_ISA_SVM); #endif - BX_ISA_ALT_MOV_CR8, - BX_ISA_XAPIC_EXT, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_ALT_MOV_CR8); + enable_cpu_extension(BX_ISA_XAPIC_EXT); } void turion64_tyler_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpudb/zambezi.cc b/bochs/cpu/cpudb/zambezi.cc index f31742d45..1cce7a2fa 100644 --- a/bochs/cpu/cpudb/zambezi.cc +++ b/bochs/cpu/cpudb/zambezi.cc @@ -43,60 +43,55 @@ zambezi_t::zambezi_t(BX_CPU_C *cpu): bx_cpuid_t(cpu) if (! BX_SUPPORT_MONITOR_MWAIT) BX_INFO(("WARNING: MONITOR/MWAIT support is not compiled in !")); - static Bit8u supported_extensions[] = { - BX_ISA_X87, - BX_ISA_486, - BX_ISA_PENTIUM, - BX_ISA_P6, - BX_ISA_MMX, - BX_ISA_SYSCALL_SYSRET_LEGACY, - BX_ISA_SYSENTER_SYSEXIT, - BX_ISA_CLFLUSH, - BX_ISA_DEBUG_EXTENSIONS, - BX_ISA_VME, - BX_ISA_PSE, - BX_ISA_PAE, - BX_ISA_PGE, + 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_SYSCALL_SYSRET_LEGACY); + 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 - BX_ISA_PSE36, + enable_cpu_extension(BX_ISA_PSE36); #endif - BX_ISA_MTRR, - BX_ISA_PAT, - BX_ISA_XAPIC, - BX_ISA_LONG_MODE, - BX_ISA_LM_LAHF_SAHF, - BX_ISA_CMPXCHG16B, - BX_ISA_NX, - BX_ISA_SSE, - BX_ISA_SSE2, - BX_ISA_SSE3, - BX_ISA_SSSE3, - BX_ISA_SSE4_1, - BX_ISA_SSE4_2, - BX_ISA_LZCNT, - BX_ISA_POPCNT, - BX_ISA_SSE4A, + enable_cpu_extension(BX_ISA_MTRR); + enable_cpu_extension(BX_ISA_PAT); + enable_cpu_extension(BX_ISA_XAPIC); + 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_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_LZCNT); + enable_cpu_extension(BX_ISA_POPCNT); + enable_cpu_extension(BX_ISA_SSE4A); #if BX_SUPPORT_MONITOR_MWAIT - BX_ISA_MONITOR_MWAIT, + enable_cpu_extension(BX_ISA_MONITOR_MWAIT); #endif - BX_ISA_RDTSCP, - BX_ISA_XSAVE, - BX_ISA_AES_PCLMULQDQ, - BX_ISA_AVX, - BX_ISA_FMA4, - BX_ISA_XOP, + enable_cpu_extension(BX_ISA_RDTSCP); + enable_cpu_extension(BX_ISA_XSAVE); + enable_cpu_extension(BX_ISA_AES_PCLMULQDQ); + enable_cpu_extension(BX_ISA_AVX); + enable_cpu_extension(BX_ISA_FMA4); + enable_cpu_extension(BX_ISA_XOP); #if BX_SUPPORT_SVM - BX_ISA_SVM, + enable_cpu_extension(BX_ISA_SVM); #endif - BX_ISA_FFXSR, - BX_ISA_1G_PAGES, - BX_ISA_MISALIGNED_SSE, - BX_ISA_ALT_MOV_CR8, - BX_ISA_XAPIC_EXT, - BX_ISA_EXTENSION_LAST - }; - - register_cpu_extensions(supported_extensions); + enable_cpu_extension(BX_ISA_FFXSR); + enable_cpu_extension(BX_ISA_1G_PAGES); + enable_cpu_extension(BX_ISA_MISALIGNED_SSE); + enable_cpu_extension(BX_ISA_ALT_MOV_CR8); + enable_cpu_extension(BX_ISA_XAPIC_EXT); } void zambezi_t::get_cpuid_leaf(Bit32u function, Bit32u subfunction, cpuid_function_t *leaf) const diff --git a/bochs/cpu/cpuid.h b/bochs/cpu/cpuid.h index 2396fb506..0fd9c7853 100644 --- a/bochs/cpu/cpuid.h +++ b/bochs/cpu/cpuid.h @@ -179,15 +179,6 @@ protected: ia_extensions_bitmask[extension / 32] &= ~(1 << (extension % 32)); } - BX_CPP_INLINE void register_cpu_extensions(Bit8u *extensions) - { - while(1) { - unsigned cpu_extension = *extensions++; - if (cpu_extension == BX_ISA_EXTENSION_LAST) break; - enable_cpu_extension(cpu_extension); - } - } - void get_leaf_0(unsigned max_leaf, const char *vendor_string, cpuid_function_t *leaf) const; void get_ext_cpuid_brand_string_leaf(const char *brand_string, Bit32u function, cpuid_function_t *leaf) const; void get_cpuid_hidden_level(cpuid_function_t *leaf, const char *magic_string) const;