Commit Graph

109 Commits

Author SHA1 Message Date
Stanislav Shwartsman
360481b391 infastructure for RDMSR/WRMSR control for cpuid class
now the order is going to be:

1. MSRs emulated in Bochs (msr.cc)
2. MSRs emulated in model specific derivative class of cpuid_t
3. MSR can be loaded from msrs.def file
4. MSR is not found. We can fault or ignore based on ignore_bad_msrs option
2011-08-09 22:11:56 +00:00
Stanislav Shwartsman
0171324877 small favor to VMX OFF for code that compiled with VMX ON
avoid function call when not in vmx guest.
2011-08-09 20:50:51 +00:00
Stanislav Shwartsman
e48765a511 VMX fixed, cleanups 2011-07-29 20:22:35 +00:00
Stanislav Shwartsman
78327d3e5e First step toward completely configurable CPU.
Change CPUID to generic interface which could be chosen from .bochsrc.
Bochs CPU emulation will enable/disable features (like instruction sets) according to CPUID that is selected.
TODO: Add database of CPUID from real hardware CPUs
2011-07-28 16:17:42 +00:00
Stanislav Shwartsman
002c86660a reword all the CPU code in preparation for future CPU speedup implementation.
Bochs emulation can be another 10-15% faster using technique described in paper
"Fast Microcode Interpretation with Transactional Commit/Abort"
http://amas-bt.cs.virginia.edu/2011proceedings/amasbt2011-p3.pdf
2011-07-06 20:01:18 +00:00
Stanislav Shwartsman
024a1ace38 move X2APIC to be .bochsrc option, rework of the cpuid code 2011-04-21 13:27:42 +00:00
Volker Ruppert
c78026a9a2 - deleted executable properties from source files 2011-04-03 10:29:19 +00:00
Stanislav Shwartsman
acd320699d small cleanups 2011-03-14 06:25:54 +00:00
Stanislav Shwartsman
7d80a6ebe0 Adding Id and Rev property to all files 2011-02-24 21:54:04 +00:00
Stanislav Shwartsman
5ea2591cd9 fixes 2010-10-07 20:40:01 +00:00
Stanislav Shwartsman
32ff6e4879 MSR BX_DEBUG prints 2010-05-16 13:56:22 +00:00
Stanislav Shwartsman
6e1204cb84 Merged X2APIC + X2APIC virtualization 2010-04-08 15:50:39 +00:00
Stanislav Shwartsman
df7db31fb4 EPT + VPID - VMXx2 support 2010-04-07 17:12:17 +00:00
Stanislav Shwartsman
b4cd188f07 Update (c) 2010-04-04 19:56:55 +00:00
Stanislav Shwartsman
7c42447c77 move secondary VMEXEC controls to -enable-vmx=2 option
EPT coming next
2010-04-03 07:30:23 +00:00
Stanislav Shwartsman
d39d485ece changes variable name to better one 2010-04-03 05:59:07 +00:00
Stanislav Shwartsman
dc732f21bc MSR_PAT VMX support 2010-03-26 21:26:08 +00:00
Stanislav Shwartsman
15cba8d09a fail on obviosly not-supported MSRs 2010-03-19 21:04:00 +00:00
Stanislav Shwartsman
f0ac7c576e enable secondary proc-based ctrls 2010-03-15 15:48:01 +00:00
Stanislav Shwartsman
cffe32dd2c remove unused param from exception() call 2010-03-14 15:51:27 +00:00
Stanislav Shwartsman
97b4155f31 VMX_MSR_MISC implemented 2010-03-12 21:20:42 +00:00
Stanislav Shwartsman
380bf0f4d3 extra checkin to msr.cc 2010-03-12 11:30:04 +00:00
Stanislav Shwartsman
4ce211e358 MWAIT_IS_NOP option 2010-03-12 11:28:59 +00:00
Stanislav Shwartsman
7357d1664e fix 2010-03-06 17:09:25 +00:00
Stanislav Shwartsman
a217b7b08e fix 2010-03-06 17:07:25 +00:00
Stanislav Shwartsman
5d2c2879a7 IA32_FEATURE_CONTROL_MSR is implemented 2010-03-06 16:59:05 +00:00
Stanislav Shwartsman
189553d702 bugfix 2010-03-05 08:54:07 +00:00
Stanislav Shwartsman
14b578938d bugfixes and cleanups 2010-03-03 14:33:35 +00:00
Stanislav Shwartsman
927c3594d6 enable compilation with CPU_LEVEL <= 6
converted SEP to runtime option as well
2010-02-26 11:44:50 +00:00
Stanislav Shwartsman
71bb10f98c move ignore-bad-msrs to runtime option in ,bochsrc 2009-11-13 15:55:46 +00:00
Stanislav Shwartsman
98ae54675c more MTRR res bits 2009-11-04 17:04:28 +00:00
Stanislav Shwartsman
074d2e6a95 fixed merge problem from my prev commit 2009-11-04 06:46:04 +00:00
Stanislav Shwartsman
cff7d8a74d mtrr reserved bits checks 2009-11-03 12:34:36 +00:00
Volker Ruppert
e14f643741 - fixed MTRR mask write bug and enabled check in msr.cc 2009-10-25 10:25:38 +00:00
Stanislav Shwartsman
f7886e2a37 comment out 2009-10-24 17:33:39 +00:00
Stanislav Shwartsman
b80249dfcb added PANIC for unsupported VMX feature 2009-10-22 13:33:13 +00:00
Stanislav Shwartsman
7254ea36a1 copyright fixes + small optimization 2009-10-14 20:45:29 +00:00
Stanislav Shwartsman
1be2832e53 comment out MTRR check to workaround BIOS bug 2009-10-03 14:29:31 +00:00
Stanislav Shwartsman
d0b849a37a Fixed invalid MTRR write 2009-09-28 15:39:52 +00:00
Stanislav Shwartsman
733491871d copy/paste typo fix 2009-06-15 15:10:05 +00:00
Stanislav Shwartsman
cd445195dd cleanup configure options. All paging related stuff is now automatically set/unset according to cpu-level option.
Related configure options (--enable-pae, --enable-mtrr, --enable-global-pages, --enable-large-pages) are deprecated.
Less configure options - less configure problems :)
2009-06-15 09:30:56 +00:00
Stanislav Shwartsman
847179fd13 mtrr reverved bits check 2009-05-21 13:25:30 +00:00
Stanislav Shwartsman
4fc66aab31 Fixes for compilation by Visual Studio 2008 2009-04-07 16:12:19 +00:00
Stanislav Shwartsman
2304f2abf1 reduce dependencies from CPU/APIC.H 2009-02-20 22:00:42 +00:00
Stanislav Shwartsman
1b72e66bb3 support for apic global disable
separate between I/O apic and local apic
2009-02-18 22:25:04 +00:00
Stanislav Shwartsman
87b705d036 Changes in lapicbase msr 2009-02-17 19:44:02 +00:00
Stanislav Shwartsman
3a1852ea23 take local APIC read/write access into CPU class from BX_MEM (needed for APIC virtualization later) 2009-02-17 19:20:47 +00:00
Stanislav Shwartsman
f8185a6bc6 Added Intel VMX emulation to Bochs CPU 2009-01-31 10:43:24 +00:00
Stanislav Shwartsman
ef5df7c4a8 make functions from rdmsr and wrmsr - they will be reused in VMX 2009-01-19 18:08:38 +00:00
Stanislav Shwartsman
cc60240dc1 cleanup RDMSR 2009-01-19 17:43:54 +00:00
Stanislav Shwartsman
637630435e Fixed typo 2009-01-19 16:45:54 +00:00
Stanislav Shwartsman
9929e6ed78 - updated FSF address 2009-01-16 18:18:59 +00:00
Stanislav Shwartsman
69153fc532 added enum for memory types 2009-01-03 20:04:03 +00:00
Stanislav Shwartsman
16275b5298 Fixed msrs.def parsing 2008-12-30 18:16:30 +00:00
Stanislav Shwartsman
aff71784fc Fixed possible mmory bug 2008-12-29 19:18:21 +00:00
Stanislav Shwartsman
e182e74a4d Added ability to define user MSRs spec for emulated CPU 2008-12-28 20:30:48 +00:00
Stanislav Shwartsman
24f9a22550 Fixed compilation when not in x86-64 2008-12-07 06:15:26 +00:00
Stanislav Shwartsman
f9ce1171fe rename crreg accessors 2008-12-06 10:21:55 +00:00
Stanislav Shwartsman
70e9f4c161 preparing to different way of handling MSR registers 2008-12-05 12:48:36 +00:00