Stanislav Shwartsman
50462dde9a
RDTSCP could be run outside long64
2010-04-08 16:38:41 +00:00
Stanislav Shwartsman
9cece96d14
fixes
2010-04-04 18:46:03 +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
93220f6b6e
fixes
2010-04-02 21:22:17 +00:00
Stanislav Shwartsman
33262356ec
small optimization
2010-03-27 16:30:01 +00:00
Stanislav Shwartsman
f5ce2a7639
split crreg access functions to separate file
2010-03-25 21:33:07 +00:00
Stanislav Shwartsman
da656bf93d
optimization for paging disable mode + preparing for future
2010-03-19 17:00:05 +00:00
Stanislav Shwartsman
79466dffe2
apic virtualization + vmx fixes
2010-03-16 14:51:20 +00:00
Stanislav Shwartsman
f0ac7c576e
enable secondary proc-based ctrls
2010-03-15 15:48:01 +00:00
Stanislav Shwartsman
1c6cc35b06
fixed TPR shadow
2010-03-15 14:18:36 +00:00
Stanislav Shwartsman
3b3b920795
vmx updates
2010-03-15 13:47:18 +00:00
Stanislav Shwartsman
cffe32dd2c
remove unused param from exception() call
2010-03-14 15:51:27 +00:00
Stanislav Shwartsman
b6f8ccb91c
missed include
2010-03-12 11:35:34 +00:00
Stanislav Shwartsman
4ce211e358
MWAIT_IS_NOP option
2010-03-12 11:28:59 +00:00
Stanislav Shwartsman
173f4ed1f9
fixed perm check for MONITOR
2010-03-07 09:41:12 +00:00
Stanislav Shwartsman
11de02bd89
MONITOR/MWAIT: rewritten MONITOR/MWAIT implementation from scratch
2010-03-07 09:16:24 +00:00
Stanislav Shwartsman
14b578938d
bugfixes and cleanups
2010-03-03 14:33:35 +00:00
Stanislav Shwartsman
5b6a14656d
Make XSAVE as runtime option
2010-02-26 22:53:43 +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
033a20b3b2
allow to configure CPU features at runtime - implemened on example of SSE/AES/MOVBE/POPCNT
2010-02-25 22:04:31 +00:00
Stanislav Shwartsman
c201a53c76
cleanup and optimization
2010-02-15 14:04:48 +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
bd60e0264c
change Copyright to Bochs Project
2009-12-04 16:53:12 +00:00
Stanislav Shwartsman
f57e382416
bugfix for Instruction SYSRET and SS(PL)
2009-11-21 09:57:10 +00:00
Stanislav Shwartsman
b3ad88f23d
typofix
2009-11-08 21:03:59 +00:00
Stanislav Shwartsman
6f0db17b08
fixed #DB on rpeat instructions
2009-10-30 09:13:19 +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
85f1004ce0
implemented TPR shadow feature for VMX
2009-09-30 05:57:21 +00:00
Stanislav Shwartsman
d26660dac1
small fixes
2009-08-19 09:59:30 +00:00
Stanislav Shwartsman
54e3422e1b
bugfix
2009-08-15 15:36:35 +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
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
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
6fe6da5f25
small fixes
2009-05-07 12:00:02 +00:00
Stanislav Shwartsman
4fc66aab31
Fixes for compilation by Visual Studio 2008
2009-04-07 16:12:19 +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
c9d63a4e53
redo x86 hw i/o breakpoint stuff
2009-03-28 08:27:01 +00:00
Stanislav Shwartsman
4470c6a1c8
make ICACHE always enabled option and deprecate it in the configure script
...
Trace cache still can be turned off
2009-03-13 18:48:08 +00:00
Stanislav Shwartsman
2bdc6ff231
insert updateFetchModeMask into handleCpuModeChange - avoid bugs in future
2009-03-10 22:28:08 +00:00
Stanislav Shwartsman
bc8be4ed06
Fixed CR8 read
2009-02-27 20:00:02 +00:00
Stanislav Shwartsman
3564ef3162
small fixes
2009-02-18 22:33:06 +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
a5badd3b83
- bugfixes
2009-02-13 09:51:57 +00:00
Stanislav Shwartsman
6003f52704
Fixed compilation error + x86-64 correctness fix
2009-02-09 19:46:34 +00:00
Stanislav Shwartsman
aeaf51d33a
FIxed #DB exception in 64-bit mode
2009-02-06 15:25:57 +00:00
Stanislav Shwartsman
7c0582e4ea
Some fixes for X86-64 OFF mode
2009-02-04 16:05:47 +00:00
Stanislav Shwartsman
26fda0626d
Added missed CR0 reserved bits #GP in long mode
2009-02-03 21:11:31 +00:00
Stanislav Shwartsman
f6cb9e529f
Fixes for VMX emulation
2009-02-02 18:59:44 +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
Stanislav Shwartsman
a1c11c788b
sepatate activity state from debug trap
2009-01-29 20:27:57 +00:00
Stanislav Shwartsman
0325c120b2
Separate PAUSE instruction from regular NOP
2009-01-27 20:29:05 +00:00
Stanislav Shwartsman
62005d4fd9
Minimize diff with VMX support branch
2009-01-23 09:26:24 +00:00
Stanislav Shwartsman
29a252b26e
final version of exceptions cleanups/interface changes
2009-01-21 22:09:59 +00:00
Stanislav Shwartsman
cc60240dc1
cleanup RDMSR
2009-01-19 17:43:54 +00:00
Stanislav Shwartsman
eaa00237c1
Notify debugger about MWAIT executed
2009-01-17 16:55:13 +00:00
Stanislav Shwartsman
9929e6ed78
- updated FSF address
2009-01-16 18:18:59 +00:00
Stanislav Shwartsman
aee488ea3a
Fixed dbg print
2009-01-13 22:54:49 +00:00
Stanislav Shwartsman
6451356d2b
make function to calculate allowed bits in cr4
2009-01-10 10:37:23 +00:00
Stanislav Shwartsman
836e9649d8
modify set cr0 functionality
2009-01-10 10:07:57 +00:00
Stanislav Shwartsman
4369152c70
- Make CS segment always writeable in real mode
2009-01-10 09:36:44 +00:00
Stanislav Shwartsman
7f65e6b9ed
change PANIC to ERROR
2008-12-13 18:40:39 +00:00
Stanislav Shwartsman
5174f9fe82
Fixed debian i386 image freeze
2008-12-08 20:01: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
Stanislav Shwartsman
fe0456d519
Remove extra ;;
2008-10-03 17:00:46 +00:00
Stanislav Shwartsman
fb71c07b15
Fixes for MONITOR/MWAIT - the feature is still EXPERIMENTAL ONLY !
2008-10-03 16:53:08 +00:00
Stanislav Shwartsman
bc381e51da
very small cleanups
2008-09-19 19:18:57 +00:00
Stanislav Shwartsman
a9c77eb75d
Try to optimize individual instructions after fetchdecode
2008-09-16 19:20:03 +00:00
Stanislav Shwartsman
23933d731c
Remove 4G limit optimization that didn't work quite well
2008-09-08 20:47:33 +00:00
Stanislav Shwartsman
f5ba90da55
Misaligned check small optimization
2008-09-08 15:45:57 +00:00
Stanislav Shwartsman
79eb5efffa
- Preliminary implementation of X86 IO breakpoints
2008-08-30 08:14:46 +00:00
Stanislav Shwartsman
db8445abde
Allow 8b BP in 32bit mode as well
2008-08-29 22:14:02 +00:00
Stanislav Shwartsman
991ae348cb
Clean invalidate_prefetch_q when not needed
2008-08-23 13:55:37 +00:00
Stanislav Shwartsman
460d91fc8c
Added missed #GP fault when writing invalid memtype to MTRR/PAT
2008-08-15 10:59:31 +00:00
Stanislav Shwartsman
dcb82ec4bf
Optimize TLB flush methods
2008-08-13 21:51:54 +00:00
Stanislav Shwartsman
24e0b53720
This more ellegant way to have debug info for BxError and not lose any performace
2008-08-09 19:18:09 +00:00
Stanislav Shwartsman
5dd02b26e3
Make even more efficient RmAddr calculation - good optimizing compiler could make more efficient code than it was before
2008-08-08 09:22:49 +00:00
Stanislav Shwartsman
6398ebb1d4
First step of access bits cleanup and optimization - no perf gain yet
2008-08-03 19:53:09 +00:00
Stanislav Shwartsman
924c87e451
Delete unused code
2008-07-13 15:36:57 +00:00
Stanislav Shwartsman
709d74728d
Call #UD exception directly instead of UndefinedOpcode function - for future use
2008-07-13 15:35:10 +00:00
Stanislav Shwartsman
e9ec4fda48
Some chnages for future use
2008-07-13 10:44:34 +00:00
Stanislav Shwartsman
65275ffc02
Remove repeat speedups from 16-bit address size methods - they not gonna speed up anyway because of segment limit issue
2008-06-25 10:34:21 +00:00
Stanislav Shwartsman
c1f308d80d
Push error code if segment violation occurs when pushing arguments into a new stack
2008-06-25 02:28:31 +00:00
Stanislav Shwartsman
b65816a92d
Fixed problem in my morning checkin + some more changes
2008-06-23 15:58:22 +00:00
Stanislav Shwartsman
a6fda9a971
Instrumentation code updated, some PANIC messages fixed
2008-06-23 02:56:31 +00:00
Stanislav Shwartsman
fc6671a67b
Commented out assertion which doesn't work
2008-06-16 04:49:19 +00:00
Stanislav Shwartsman
9d1bc903d8
Fixed typo in MTRR, added assertions
2008-06-15 20:41:34 +00:00
Stanislav Shwartsman
a0e66d0e4c
fixed variable name
2008-06-14 16:55:45 +00:00
Stanislav Shwartsman
92568f7525
Faster 32-bit emulation wwith 64-bit enabled mode.
...
~10% speedup byu optimization of 32-bit mem access
2008-06-12 19:14:40 +00:00
Stanislav Shwartsman
3d3dba7804
- Implemented GD bit in DR7 register
2008-06-02 19:50:40 +00:00
Stanislav Shwartsman
b7480b3e6f
- Fixed x86 data breakpoint match when breakpoint length is 8 bytes
...
- FIxed x86 data breakpoint in paging disabled mode
2008-06-02 18:41:08 +00:00
Stanislav Shwartsman
d2ba79abdd
Removed PANIC in DqRq function
2008-05-31 21:17:02 +00:00
Stanislav Shwartsman
764756d74a
Handle reserved bits of CR8
2008-05-31 09:26:28 +00:00
Stanislav Shwartsman
d295371450
- Correctly handle segment a byte in BIG real mode
2008-05-26 21:46:39 +00:00
Stanislav Shwartsman
3619c0f6b4
Some changes to make x86-debugger feature working back
2008-05-23 17:49:46 +00:00