Stanislav Shwartsman
11b7f83a93
rename trace ilen to tlen
2010-02-13 09:41:51 +00:00
Stanislav Shwartsman
eb13ccdb10
extra vmexit info for ins/outs
2010-02-11 14:19:11 +00:00
Stanislav Shwartsman
c322f07be9
bugfix
2010-02-11 08:06:25 +00:00
Stanislav Shwartsman
5f89b554aa
split few more opcodes
2010-02-10 17:21:15 +00:00
Stanislav Shwartsman
c841eaa953
fixes and cleanups in disasm and decoder
2010-02-09 19:44:25 +00:00
Stanislav Shwartsman
7f7b2cfcf0
cleanup
2010-02-08 15:22:53 +00:00
Stanislav Shwartsman
be646e042b
cleanup
2010-02-08 14:54:26 +00:00
Stanislav Shwartsman
94a00978f7
Fixed bug in task_switch logic
2010-02-08 14:22:39 +00:00
Stanislav Shwartsman
a2a080894b
split fetchdecode.h for better readability
2010-02-08 10:39:30 +00:00
Stanislav Shwartsman
9d934cb989
small updates
2010-02-06 20:52:27 +00:00
Stanislav Shwartsman
4217d76d26
fetchdecode code duplication cleanup
2010-02-06 17:14:07 +00:00
Stanislav Shwartsman
856e2491ba
undo the change
2010-02-06 10:15:26 +00:00
Stanislav Shwartsman
4a70e73b9d
compilation fix + code duplication fix
2010-02-06 09:59:52 +00:00
Stanislav Shwartsman
26c7abf988
decode tables opt
2010-02-01 07:59:22 +00:00
Stanislav Shwartsman
da93b6c3a6
undo wrong change
2010-01-31 19:39:46 +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
eae084920a
optimized decode tables
2010-01-31 09:45:27 +00:00
Stanislav Shwartsman
dc02d836ce
Fix POPCNT decode tables
2010-01-29 10:16:28 +00:00
Stanislav Shwartsman
33107b54fc
- Fixed CPUID function 0x80000005 for Intel CPUs (should be reserved)
2010-01-24 20:21:47 +00:00
Stanislav Shwartsman
d8718ae92a
allow instrumentation to change i->execute (1% total slowdown is the price)
...
patch from @SF
2010-01-24 12:48:42 +00:00
Stanislav Shwartsman
7d7f18b585
cleanup
2010-01-19 14:43:47 +00:00
Stanislav Shwartsman
cf6a4f5417
added ia_opcode into bxInstruction class
2010-01-09 15:11:32 +00:00
Stanislav Shwartsman
c82b66c847
CS change from debugger could change CPL or CPU mode
2009-12-28 10:56:23 +00:00
Stanislav Shwartsman
e59ff3d779
cleanup
2009-12-28 09:26:22 +00:00
Stanislav Shwartsman
6f8f69e5bb
set/get_ar_byte not need to be CPU members
2009-12-27 16:53:35 +00:00
Stanislav Shwartsman
d779842da3
added ability to modify sregs from bochs debugger
2009-12-27 16:38:09 +00:00
Stanislav Shwartsman
cccbac3bb7
bugfix
2009-12-23 07:26:14 +00:00
Stanislav Shwartsman
5579bdfc55
removed unused param
2009-12-22 12:11:09 +00:00
Stanislav Shwartsman
33ad9296ff
bugfix
2009-12-22 11:58:26 +00:00
Stanislav Shwartsman
30c9eef6f9
small optimization
2009-12-21 13:38:06 +00:00
Stanislav Shwartsman
c403090327
! Implemented PCLMULQDQ AES instruction
2009-12-20 09:00:40 +00:00
Stanislav Shwartsman
71457f464f
Fixed trace cache CS.LIMIT demotion problem
2009-12-17 11:11:58 +00:00
Stanislav Shwartsman
8fbcfa6b39
Fixed SMC detection with trace cache disabled
2009-12-16 12:32:51 +00:00
Stanislav Shwartsman
edaf19f0a1
Split MOVQ_PqQq opcode
2009-12-14 11:55:42 +00:00
Stanislav Shwartsman
796d24ecb7
Fixed injection of hardware exception
2009-12-10 07:57:32 +00:00
Stanislav Shwartsman
57d14f071b
style
2009-12-04 21:27:17 +00:00
Stanislav Shwartsman
bd60e0264c
change Copyright to Bochs Project
2009-12-04 16:53:12 +00:00
Stanislav Shwartsman
604e7aa7ac
typo fix
2009-11-29 21:05:59 +00:00
Stanislav Shwartsman
2defc78bac
cleanups
2009-11-29 21:01:26 +00:00
Stanislav Shwartsman
553ca8af01
split more SSE ops
2009-11-25 20:49:47 +00:00
Stanislav Shwartsman
6819ab4eb7
split sse opcodes
2009-11-23 18:21:23 +00:00
Stanislav Shwartsman
eba83b886b
Fixed sending of interrupt 0xFF via lapic
2009-11-21 10:09:35 +00:00
Stanislav Shwartsman
f57e382416
bugfix for Instruction SYSRET and SS(PL)
2009-11-21 09:57:10 +00:00
Stanislav Shwartsman
28d0cd7e60
remove incorrect warning msg
2009-11-20 19:20:19 +00:00
Stanislav Shwartsman
0a735942e2
restore real mode with CPL != 0
2009-11-20 14:18:43 +00:00
Stanislav Shwartsman
5bfbc9df5f
RETF bug fuxed
2009-11-19 20:00:35 +00:00
Stanislav Shwartsman
5099cff0e5
save restore for new var
2009-11-13 16:01:37 +00:00
Stanislav Shwartsman
71bb10f98c
move ignore-bad-msrs to runtime option in ,bochsrc
2009-11-13 15:55:46 +00:00
Stanislav Shwartsman
67e4f97e73
make maskmov fault order like in real HWQ
2009-11-13 09:55:22 +00:00
Stanislav Shwartsman
b3ad88f23d
typofix
2009-11-08 21:03:59 +00:00
Stanislav Shwartsman
fbd9f291f7
small optimization
2009-11-06 18:19:01 +00:00
Stanislav Shwartsman
438dd080ce
bugfix found by regression
2009-11-06 09:13:30 +00:00
Stanislav Shwartsman
6d9271634d
bugfix + small optimization
2009-11-05 21:07:18 +00:00
Stanislav Shwartsman
6b3ecd7a87
lazy flags with less computs
2009-11-05 17:19:57 +00:00
Stanislav Shwartsman
896457e437
cleanup
2009-11-05 16:51:06 +00:00
Stanislav Shwartsman
22d2630e0d
gcc more likes this construction
2009-11-05 16:06:57 +00:00
Stanislav Shwartsman
98ae54675c
more MTRR res bits
2009-11-04 17:04:28 +00:00
Stanislav Shwartsman
868e716411
instrumentation fixes + new example
2009-11-04 15:48: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
Stanislav Shwartsman
6d71bdb785
cleanups and optimizations
2009-11-02 15:00:47 +00:00
Stanislav Shwartsman
40821d996e
bugfix
2009-10-31 20:16:21 +00:00
Stanislav Shwartsman
d16afb6d47
ia_opcodes instrumentation
2009-10-31 20:02:44 +00:00
Stanislav Shwartsman
3e3cfc610f
cleanup
2009-10-31 19:16:09 +00:00
Stanislav Shwartsman
6f0db17b08
fixed #DB on rpeat instructions
2009-10-30 09:13:19 +00:00
Stanislav Shwartsman
98b51805d5
updates for Bochs debugger
2009-10-29 15:49:50 +00:00
Stanislav Shwartsman
234770395d
Fixes for x87 restore by FXRSTOR/XRSTOR
2009-10-27 20:03:35 +00:00
Stanislav Shwartsman
5ab53ac4b0
cleanup + small optimization
2009-10-27 18:30:13 +00:00
Stanislav Shwartsman
54cdee30c1
fix dbg method as well
2009-10-26 22:05:00 +00:00
Stanislav Shwartsman
220c893c6d
remove dbg print
2009-10-26 21:19:23 +00:00
Stanislav Shwartsman
40352dc310
fix 4M paging
2009-10-26 21:16:04 +00:00
Stanislav Shwartsman
ff5a2acc76
Fixed error code in long mode exception
2009-10-26 15:53:24 +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
e9967c6b83
fixed 4M paging
2009-10-24 21:00:43 +00:00
Stanislav Shwartsman
f7886e2a37
comment out
2009-10-24 17:33:39 +00:00
Stanislav Shwartsman
4dd73f2ebe
fixed CF/OF flags
2009-10-24 17:23:19 +00:00
Stanislav Shwartsman
aac4e85884
optimization
2009-10-24 11:24:21 +00:00
Stanislav Shwartsman
78e4b3d616
split SSE move instructions
2009-10-24 11:17:51 +00:00
Stanislav Shwartsman
b80249dfcb
added PANIC for unsupported VMX feature
2009-10-22 13:33:13 +00:00
Stanislav Shwartsman
1518579e34
fixed for code bp
2009-10-19 19:59:10 +00:00
Stanislav Shwartsman
0c08841e99
forgot to restore MXCSR in XRSTOR
2009-10-18 17:33:35 +00:00
Stanislav Shwartsman
127649453c
fixed XSETBV
2009-10-18 17:16:08 +00:00
Stanislav Shwartsman
89d0b3aee3
bugfix
2009-10-18 17:11:25 +00:00
Stanislav Shwartsman
da4722e257
optimize sr params
2009-10-16 18:29:45 +00:00
Stanislav Shwartsman
3dbb1da68a
remove "dirty" pages tracking - it is too memory consuming and can fit with >4G phy addr space
2009-10-15 20:50:33 +00:00
Stanislav Shwartsman
7254ea36a1
copyright fixes + small optimization
2009-10-14 20:45:29 +00:00
Stanislav Shwartsman
2a8b7e04ba
bugfix
2009-10-13 15:28:16 +00:00
Stanislav Shwartsman
5909ef1494
loading of null segment with RPL != 0
2009-10-12 20:50:14 +00:00
Stanislav Shwartsman
0e2a0fe110
optimization
2009-10-12 16:30:52 +00:00
Stanislav Shwartsman
83c2dfd556
fixed vmx i/o bitmaps
2009-10-11 21:23:41 +00:00
Stanislav Shwartsman
12e6a33436
vmx bugfix
2009-10-10 13:45:39 +00:00
Stanislav Shwartsman
3a558cbfee
update for instrumentation
2009-10-10 09:17:53 +00:00
Stanislav Shwartsman
6d6bf4a65e
code optimization for future
2009-10-08 18:07:50 +00:00
Stanislav Shwartsman
a5a22cc00d
VMWRITE fixed (patch from @SF)
2009-10-08 14:33:08 +00:00
Stanislav Shwartsman
d5c190ab2b
Merged #SF patch: fix CS segment type during fast syscall invocation
2009-10-07 15:45:15 +00:00
Stanislav Shwartsman
1be2832e53
comment out MTRR check to workaround BIOS bug
2009-10-03 14:29:31 +00:00
Stanislav Shwartsman
b6155ef5ca
compilation fix
2009-10-03 11:39:29 +00:00
Stanislav Shwartsman
d49e60a6e1
bugfix
2009-10-03 07:25:03 +00:00
Stanislav Shwartsman
d9f701ddb0
LSL/LAR fixed in 64-bit mode
2009-10-02 16:09:08 +00:00
Stanislav Shwartsman
85f1004ce0
implemented TPR shadow feature for VMX
2009-09-30 05:57:21 +00:00
Stanislav Shwartsman
d0b849a37a
Fixed invalid MTRR write
2009-09-28 15:39:52 +00:00
Stanislav Shwartsman
a7f3038cc4
cleanups + fix
2009-09-26 13:50:09 +00:00
Stanislav Shwartsman
d273ae14b0
rework in paging.cc
2009-09-26 06:06:35 +00:00
Stanislav Shwartsman
e05040e891
rework in paging.cc - phase1
2009-09-26 06:05:23 +00:00
Stanislav Shwartsman
e5daa4abee
bugfiX
2009-09-25 14:25:24 +00:00
Stanislav Shwartsman
5ccec842cf
bugfix`
2009-09-19 06:42:31 +00:00
Stanislav Shwartsman
c940141323
bugfix
2009-09-17 05:28:51 +00:00
Stanislav Shwartsman
6d46f5c670
unreal mode fix
2009-08-30 05:03:04 +00:00
Stanislav Shwartsman
67bf255646
bugfix
2009-08-28 13:05:21 +00:00
Stanislav Shwartsman
8e3276cf14
split opcodes by ModC0
2009-08-22 11:47:42 +00:00
Stanislav Shwartsman
a259ba7321
FPU2MMX again
2009-08-22 11:02:45 +00:00
Stanislav Shwartsman
8ae803f930
MASKMOVDQU bug fix
2009-08-21 13:44:51 +00:00
Stanislav Shwartsman
7a75cad5ea
FPU2MMX fixed
2009-08-20 19:53:05 +00:00
Stanislav Shwartsman
d26660dac1
small fixes
2009-08-19 09:59:30 +00:00
Stanislav Shwartsman
d5b93041e4
added prefixSSE for few opcodes
2009-08-15 15:43:40 +00:00
Stanislav Shwartsman
54e3422e1b
bugfix
2009-08-15 15:36:35 +00:00
Stanislav Shwartsman
b95b70651c
bugfix
2009-08-14 09:14:21 +00:00
Stanislav Shwartsman
8a95120e12
deprecate --enable-vme option, now it will be supported iff CPU_LEVEL >= 5 (like in real life)
2009-08-10 15:44:50 +00:00
Stanislav Shwartsman
eff4e00924
bugfix
2009-08-09 18:40:18 +00:00
Stanislav Shwartsman
b19da50414
bugfix
2009-08-07 05:55:45 +00:00
Stanislav Shwartsman
0db4bc29e6
compatibility bugfix
2009-08-06 14:50:38 +00:00
Stanislav Shwartsman
a3c8c25d45
remove incorrect asserts
2009-08-05 14:47:33 +00:00
Stanislav Shwartsman
d1237de4c8
bugfix
2009-08-04 16:19:15 +00:00
Stanislav Shwartsman
73b80a2391
bugfix + optimization
2009-08-02 14:23:27 +00:00
Stanislav Shwartsman
461d5a0ef2
more 'accessed' bit fix
2009-07-28 14:55:27 +00:00
Stanislav Shwartsman
d44dc8b83c
Fix param name
2009-07-28 14:52:19 +00:00
Stanislav Shwartsman
1356764958
vmx bugfiX
2009-07-28 04:42:49 +00:00
Stanislav Shwartsman
82ba563bb4
typo fix
2009-07-27 13:28:25 +00:00
Stanislav Shwartsman
66c4654418
segment desriptor 'A' bit handling fixes
2009-07-27 05:52:28 +00:00
Stanislav Shwartsman
f2d84e1604
Fixed VMREAD/VMWRITE of 16-bit vmx fields
2009-07-21 11:56:26 +00:00
Stanislav Shwartsman
f5b04f6b61
bugfix
2009-07-19 12:51:36 +00:00
Stanislav Shwartsman
e15bfef9f7
remove --enable-daz option, it will be turned on by default iff SSE2 is supported (like in real hardware)
2009-07-08 14:02:42 +00:00
Stanislav Shwartsman
cfa3611a5f
bugfixes, comment fixes, compilation fix in VMX
2009-06-20 20:39:51 +00:00
Stanislav Shwartsman
712e5a6f18
fixed priority between #AC and #GP on canonical access
2009-06-20 09:38:51 +00:00
Stanislav Shwartsman
61cb00c149
Fixed shift flags (thanks Darek for showing the bug)
2009-06-20 09:10:48 +00:00
Stanislav Shwartsman
7a473a14f3
Revert incorrect changE
2009-06-15 19:05:29 +00:00
Stanislav Shwartsman
733491871d
copy/paste typo fix
2009-06-15 15:10:05 +00:00
Stanislav Shwartsman
26a1cef63b
removed redundant (now) compilation directives
2009-06-15 09:34:49 +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
f59f067368
compilation err fixed
2009-06-12 11:45:05 +00:00
Stanislav Shwartsman
d7eb001223
small optimization
2009-06-09 15:23:28 +00:00
Stanislav Shwartsman
cb8ef697d5
PSE-36 is also supported
2009-06-06 10:40:11 +00:00
Stanislav Shwartsman
716465fb16
bugfix: Half-baked VMX Link Pointer state checking.
2009-06-06 10:21:49 +00:00
Stanislav Shwartsman
d5efb5c378
implemented biasing of unmasked x87 over/underflow result
2009-06-05 17:48:55 +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
a98a917c98
code cleanup
2009-05-28 20:18:34 +00:00
Stanislav Shwartsman
3d7bbf4356
fixed VMXON pointer concept
2009-05-28 08:26:17 +00:00
Stanislav Shwartsman
847179fd13
mtrr reverved bits check
2009-05-21 13:25:30 +00:00
Stanislav Shwartsman
98d632c197
Fixed ROUNDxx opcodes
2009-05-21 11:44:59 +00:00