Commit Graph

129 Commits

Author SHA1 Message Date
Stanislav Shwartsman
7ced718040 implemented AVX instructions support
many changes - some cleanup will follow
please report ay found bugs !
2011-03-19 20:09:34 +00:00
Stanislav Shwartsman
63fe52f601 accessors for DR6 and DR7 fields 2011-03-15 20:20:15 +00:00
Stanislav Shwartsman
7d80a6ebe0 Adding Id and Rev property to all files 2011-02-24 21:54:04 +00:00
Stanislav Shwartsman
fe0685c7f9 fine granular SMC detection (128b granularity used)
significant reduction (>80%) of false SMC flushes
2011-01-04 16:17:20 +00:00
Stanislav Shwartsman
c005444d5b split more SSE opcodes 2010-12-25 07:59:15 +00:00
Stanislav Shwartsman
4a85a8680e SSE optimization 2010-12-19 07:06:40 +00:00
Stanislav Shwartsman
36291b0b1d accessor to upper part of 64-bit reg 2010-11-12 20:46:59 +00:00
Stanislav Shwartsman
c676875421 vmcs read/write check 2010-11-12 20:26:01 +00:00
Stanislav Shwartsman
e6981218dc next step for fully configurable CPU + more optimal VMX execution
- check at startup time which VMX fields are accessible
- next step: simplify VMREAD and VMWRITE instructions - eliminate switch statements
2010-11-11 21:41:03 +00:00
Stanislav Shwartsman
93cc615a40 moved vmcs stuff to separate file 2010-11-11 16:25:45 +00:00
Stanislav Shwartsman
8308a47168 trying to get rid of b1() in instruction class 2010-09-24 21:15:16 +00:00
Stanislav Shwartsman
f5a2ca3b48 optimize for x86-64 OFF 2010-04-29 20:03:03 +00:00
Stanislav Shwartsman
ca95477b7f Implement x86-64 PCID extension 2010-04-29 19:34:32 +00:00
Stanislav Shwartsman
b9be4fcd3e fix 2010-04-19 11:09:35 +00:00
Stanislav Shwartsman
df07dab80f verbose phy mem access tracing 2010-04-13 17:56:50 +00:00
Stanislav Shwartsman
6dbafd6f60 bugfix 2010-04-09 15:19:14 +00:00
Stanislav Shwartsman
51b6180b28 don't use magic constant 2010-04-09 11:34:52 +00:00
Stanislav Shwartsman
955e237e46 unrestricted guests support (VMXx2) 2010-04-09 11:31:55 +00:00
Stanislav Shwartsman
546d974248 If CR0.PE = 0, the following instructions cause invalid-opcode exceptions and
do not cause VM exits: INVEPT, INVVPID, LLDT, LTR, SLDT, STR, VMCLEAR,
VMLAUNCH, VMPTRLD, VMPTRST, VMREAD, VMRESUME, VMWRITE, VMXOFF,
and VMXON.
2010-04-08 17:00:55 +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
21de4f8b8b remove cr3_masked 2010-04-04 09:04:12 +00:00
Stanislav Shwartsman
25d3d950b2 vmx fix 2010-04-03 19:18:38 +00:00
Stanislav Shwartsman
eab8826173 restore back some code - optimization conflicting with EPT implementation 2010-04-03 18:00:30 +00:00
Stanislav Shwartsman
a445b5c4f3 optimization + fix 2010-04-03 16:52:33 +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
7080435433 VMX compilation fix 2010-04-02 08:03:04 +00:00
Stanislav Shwartsman
5c23538d94 redundant ifdef 2010-04-01 12:32:11 +00:00
Stanislav Shwartsman
3a2fbd0aae VMREAD for APIC virtualization 2010-04-01 11:43:45 +00:00
Stanislav Shwartsman
33262356ec small optimization 2010-03-27 16:30:01 +00:00
Stanislav Shwartsman
6280a9560f bugfixes for luvalley boot 2010-03-27 11:14:19 +00:00
Stanislav Shwartsman
e7933d9dc2 enable EFER_MSR VMX controls 2010-03-27 09:27:40 +00:00
Stanislav Shwartsman
dc732f21bc MSR_PAT VMX support 2010-03-26 21:26:08 +00:00
Stanislav Shwartsman
f5ce2a7639 split crreg access functions to separate file 2010-03-25 21:33:07 +00:00
Stanislav Shwartsman
11c4223519 fix 2010-03-19 11:38:21 +00:00
Stanislav Shwartsman
78badcbde4 cleanup 2010-03-17 21:55:19 +00:00
Stanislav Shwartsman
6b230414a4 mini optimization 2010-03-17 21:08:21 +00:00
Stanislav Shwartsman
6b3c785b68 more like real hardware behaves 2010-03-16 21:09:11 +00:00
Stanislav Shwartsman
bc96e7e411 PANIC fix 2010-03-16 15:11:03 +00:00
Stanislav Shwartsman
79466dffe2 apic virtualization + vmx fixes 2010-03-16 14:51:20 +00:00
Stanislav Shwartsman
b8dfe6d9b1 assert check 2010-03-15 22:58:41 +00:00
Stanislav Shwartsman
d0e118a1d0 register new fields 2010-03-15 16:34:03 +00:00
Stanislav Shwartsman
f0ac7c576e enable secondary proc-based ctrls 2010-03-15 15:48:01 +00:00
Stanislav Shwartsman
77b4c671b2 optimization 2010-03-15 13:57:12 +00:00
Stanislav Shwartsman
6134283932 vmx update 2010-03-15 13:54:54 +00:00
Stanislav Shwartsman
3b3b920795 vmx updates 2010-03-15 13:47:18 +00:00
Stanislav Shwartsman
3c1b8a63d7 VMX bugfix 2010-03-15 13:22:14 +00:00
Stanislav Shwartsman
cffe32dd2c remove unused param from exception() call 2010-03-14 15:51:27 +00:00
Stanislav Shwartsman
5d2c2879a7 IA32_FEATURE_CONTROL_MSR is implemented 2010-03-06 16:59:05 +00:00
Stanislav Shwartsman
9d934cb989 small updates 2010-02-06 20:52:27 +00:00
Stanislav Shwartsman
c3a73d3579 comment out CS.LIMIT demotion fix - it causes too big slowdown.
Need to think about better solution
+ small optimization
2010-01-31 18:06:45 +00:00
Stanislav Shwartsman
71457f464f Fixed trace cache CS.LIMIT demotion problem 2009-12-17 11:11:58 +00:00
Stanislav Shwartsman
796d24ecb7 Fixed injection of hardware exception 2009-12-10 07:57:32 +00:00
Stanislav Shwartsman
a5a22cc00d VMWRITE fixed (patch from @SF) 2009-10-08 14:33:08 +00:00
Stanislav Shwartsman
85f1004ce0 implemented TPR shadow feature for VMX 2009-09-30 05:57:21 +00:00
Stanislav Shwartsman
f2d84e1604 Fixed VMREAD/VMWRITE of 16-bit vmx fields 2009-07-21 11:56:26 +00:00
Stanislav Shwartsman
cfa3611a5f bugfixes, comment fixes, compilation fix in VMX 2009-06-20 20:39:51 +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
716465fb16 bugfix: Half-baked VMX Link Pointer state checking. 2009-06-06 10:21:49 +00:00
Stanislav Shwartsman
03ba2ec988 implement pdptr checks in legacy PAE mode 2009-05-31 07:49:04 +00:00
Stanislav Shwartsman
222129db4b Rewritten long mode page walk - large code cleanup and few bugfixes 2009-05-30 15:09:38 +00:00
Stanislav Shwartsman
3d7bbf4356 fixed VMXON pointer concept 2009-05-28 08:26:17 +00:00
Stanislav Shwartsman
efc413d2b4 VMX fixes 2009-05-21 10:39:40 +00:00
Stanislav Shwartsman
aac70fdf25 faster vmenter/vmexit 2009-05-03 13:02:14 +00:00
Stanislav Shwartsman
9e092a86c3 merge "system" and "segment" blocks of descriptor 2009-04-05 19:09:44 +00:00
Stanislav Shwartsman
c9383813f0 don't have to keep both limit and limit_scale 2009-04-05 18:16:29 +00:00
Stanislav Shwartsman
f7efa100e0 Redefine "generic" VMCS table 2009-03-28 13:42:09 +00:00
Stanislav Shwartsman
8eb93f4c41 More debug prints 2009-03-27 09:37:48 +00:00
Stanislav Shwartsman
2bdc6ff231 insert updateFetchModeMask into handleCpuModeChange - avoid bugs in future 2009-03-10 22:28:08 +00:00
Stanislav Shwartsman
d01725b1e9 Fixed compilation error on MAC 2009-02-20 08:12:51 +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
e8e699245f fix code duplication in cpu.h for eflags accessors 2009-02-13 20:09:56 +00:00
Stanislav Shwartsman
7c0582e4ea Some fixes for X86-64 OFF mode 2009-02-04 16:05:47 +00:00
Stanislav Shwartsman
592484408f Initial NMI virtualization for VMX, clean out CPU pins set/clear code 2009-02-03 19:17:15 +00:00
Stanislav Shwartsman
f6cb9e529f Fixes for VMX emulation 2009-02-02 18:59:44 +00:00
Stanislav Shwartsman
3a918d21f7 VMENTER with pending dbg exceptions 2009-02-01 22:23:33 +00:00
Stanislav Shwartsman
2378d31998 Fixes for DR6 handling 2009-02-01 20:47:06 +00:00
Stanislav Shwartsman
f8185a6bc6 Added Intel VMX emulation to Bochs CPU 2009-01-31 10:43:24 +00:00