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
Stanislav Shwartsman
efc413d2b4
VMX fixes
2009-05-21 10:39:40 +00:00
Stanislav Shwartsman
071a27fd99
fixed 1g paging cpuid bit (26, not 27)
2009-05-19 18:54:05 +00:00
Stanislav Shwartsman
27805e9aba
64 Bit XP boot requirements CPUID changes - thanks Mark !
2009-05-19 15:46:07 +00:00
Stanislav Shwartsman
867ef05705
The same for G15R
2009-05-16 09:26:16 +00:00
Stanislav Shwartsman
9339740d8b
G15M have SSE prefix style
2009-05-16 09:11:14 +00:00
Stanislav Shwartsman
0b59fdfe31
small fix
2009-05-13 14:31:09 +00:00
Stanislav Shwartsman
68633b09d2
-typo
2009-05-07 12:02:34 +00:00
Stanislav Shwartsman
6fe6da5f25
small fixes
2009-05-07 12:00:02 +00:00
Stanislav Shwartsman
aac70fdf25
faster vmenter/vmexit
2009-05-03 13:02:14 +00:00
Stanislav Shwartsman
ecf82d54cd
bugfix
2009-05-01 14:59:21 +00:00
Stanislav Shwartsman
78418c6a74
removed cr1 from cpu
2009-05-01 09:32:46 +00:00
Stanislav Shwartsman
89f057ae7b
x87 fix
2009-04-27 14:00:55 +00:00
Stanislav Shwartsman
19dce66e50
fixed instruiction fetch bug which happens in 64-bit mode when jumping rip by scale of 32bit
2009-04-18 21:09:50 +00:00
Stanislav Shwartsman
150f8bfff0
remove unused vars
2009-04-14 19:34:03 +00:00
Stanislav Shwartsman
4d40d7a471
- Fixed TR.LIMIT when checking TSS permission bitmap from Int_Ib() in VME mode
2009-04-14 17:41:58 +00:00
Stanislav Shwartsman
012b3a2e89
Eliminate code duplication
2009-04-14 13:43:21 +00:00
Stanislav Shwartsman
e0833381d5
Fixed priority between #NP and #GP
2009-04-14 09:23:36 +00:00
Stanislav Shwartsman
024d36fa12
x87: fixed C1 (rounding up) for overflow condition
2009-04-11 17:00:28 +00:00
Stanislav Shwartsman
6f6414e456
fixed inv phy addr breakpoints
2009-04-11 14:02:13 +00:00
Stanislav Shwartsman
fb76e852f0
Almost made to get rid of icount
2009-04-11 13:58:34 +00:00
Stanislav Shwartsman
4fc66aab31
Fixes for compilation by Visual Studio 2008
2009-04-07 16:12:19 +00:00
Stanislav Shwartsman
9d4c24b6a3
Split instruction 32/64
2009-04-06 18:44:28 +00:00
Stanislav Shwartsman
6fbc9bd250
Fixed SMC when trace cache is OFF + small speedup again
2009-04-06 18:27:30 +00:00
Stanislav Shwartsman
57f5bcf9e7
some very small optimization in cpu_loop
2009-04-06 18:14:20 +00:00
Stanislav Shwartsman
153f86b1a8
save/restore mwait status correctly
2009-04-05 19:38:44 +00:00
Stanislav Shwartsman
9e092a86c3
merge "system" and "segment" blocks of descriptor
2009-04-05 19:09:44 +00:00
Stanislav Shwartsman
248af1b0c3
typo fix
2009-04-05 18:22:03 +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
c9d63a4e53
redo x86 hw i/o breakpoint stuff
2009-03-28 08:27:01 +00:00
Stanislav Shwartsman
a0b1fda178
bugfixes
2009-03-27 16:42:21 +00:00
Stanislav Shwartsman
8eb93f4c41
More debug prints
2009-03-27 09:37:48 +00:00
Stanislav Shwartsman
fcb51dc168
oops, this break max_instr_count feature
2009-03-26 10:24:10 +00:00
Stanislav Shwartsman
c4eed92bb0
small optimization
2009-03-26 09:44:23 +00:00
Stanislav Shwartsman
043be27c2c
M$ comilerr can't optimize very good functions with long_jmp inside
2009-03-26 09:28:49 +00:00
Stanislav Shwartsman
722d489ad9
Fix SMC detection optimization
2009-03-24 16:04:47 +00:00
Stanislav Shwartsman
839ef8b6ce
optimizations in icache
2009-03-24 12:37:28 +00:00
Stanislav Shwartsman
b46aa8e905
Fixed assertion failure in iret
2009-03-23 19:36:48 +00:00
Stanislav Shwartsman
85cdc96a49
Undo perf optimization which broke correctness
2009-03-23 16:46:17 +00:00
Stanislav Shwartsman
aee1b3d3b8
FIxed MOVBE16
2009-03-22 21:23:12 +00:00
Stanislav Shwartsman
e5be60be64
Fixed lazy flags bug I added in one of my prev merges
...
ICACHE code reorganization
2009-03-22 21:12:35 +00:00
Stanislav Shwartsman
888000e7d4
Fixed compilation err with trace cache disabled
2009-03-22 06:09:18 +00:00
Stanislav Shwartsman
c3392488b5
reorganize cpu debugger support, less function, faster code
2009-03-17 19:40:26 +00:00
Stanislav Shwartsman
b9283af695
fixed compilation warning
2009-03-15 16:52:54 +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
10c8d8ea33
improve lazy flags after ADD instruction
2009-03-13 18:26:10 +00:00
Stanislav Shwartsman
9417cbee63
- cpu optimizations 9remove redundant, add new)
2009-03-13 18:02:33 +00:00
Stanislav Shwartsman
2bdc6ff231
insert updateFetchModeMask into handleCpuModeChange - avoid bugs in future
2009-03-10 22:28:08 +00:00
Stanislav Shwartsman
08de514d9c
code cleanup for future optimization
2009-03-10 21:43:11 +00:00
Stanislav Shwartsman
07f811013c
bugfixes
2009-03-10 20:01:56 +00:00
Stanislav Shwartsman
51ea504442
Fixed compilation with debugger on
2009-03-10 17:02:03 +00:00
Stanislav Shwartsman
9e723a044f
- Added configure option to enable/disable A20 pin support. Disabling the
...
A20 pin support slightly speeds up the emulation.
- small code cleanup
2009-03-10 16:28:01 +00:00
Stanislav Shwartsman
6fe0b40b44
move a20 handling into getHostAddr method of BX_MEM
2009-03-08 21:23:40 +00:00
Stanislav Shwartsman
43fc81651d
Removed redundant code
2009-03-05 17:48:12 +00:00
Stanislav Shwartsman
72e2a2258f
Fixed BSWAP in MOVBE instruction
2009-03-03 16:55:20 +00:00
Stanislav Shwartsman
56251925a3
Fixed typo in 64-bit BSWAP
2009-03-03 06:18:00 +00:00
Stanislav Shwartsman
6dac964b27
Two more prefix66 opcodes
2009-02-28 09:28:18 +00:00
Stanislav Shwartsman
bc8be4ed06
Fixed CR8 read
2009-02-27 20:00:02 +00:00
Stanislav Shwartsman
93f375dc42
regen dependencies
2009-02-26 22:02:00 +00:00
Stanislav Shwartsman
b9de22961c
minimize SSE tables, minor speedup in SSE code
2009-02-26 21:57:01 +00:00
Stanislav Shwartsman
e6685b3557
Fixed comp err with APIC disabled
2009-02-23 17:09:39 +00:00
Volker Ruppert
9e3dd83e85
- reduce some more dependencies and related Makefile.in updates
2009-02-23 11:06:53 +00:00
Volker Ruppert
790eec83ca
- converted I/O APIC to a device plugin
...
- updated dependencies
2009-02-22 10:44:50 +00:00
Stanislav Shwartsman
2304f2abf1
reduce dependencies from CPU/APIC.H
2009-02-20 22:00:42 +00:00
Stanislav Shwartsman
87268a1ba5
Fixed dfr register in apic
2009-02-20 20:44:20 +00:00
Stanislav Shwartsman
21d753c378
short cleanup
2009-02-20 17:35:55 +00:00
Stanislav Shwartsman
09489f968a
cleanup APIC initialization and setting of APIC_ID
2009-02-20 17:26:01 +00:00
Stanislav Shwartsman
78590cc6f2
remove redundant cpu->name variable
2009-02-20 17:05:03 +00:00
Stanislav Shwartsman
11e8d090b6
moved def to config.h
2009-02-20 16:01:30 +00:00
Stanislav Shwartsman
d01725b1e9
Fixed compilation error on MAC
2009-02-20 08:12:51 +00:00
Stanislav Shwartsman
31a367283a
small optimizations for apic code
2009-02-19 23:19:11 +00:00
Stanislav Shwartsman
7be90a7426
forgot to enable local_apic in init()
2009-02-18 22:38:58 +00:00
Stanislav Shwartsman
3564ef3162
small fixes
2009-02-18 22:33:06 +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
6fb60de2b2
cpu to see up to 40 bit physical addr space
2009-02-15 18:51:13 +00:00
Stanislav Shwartsman
e8e699245f
fix code duplication in cpu.h for eflags accessors
2009-02-13 20:09:56 +00:00
Stanislav Shwartsman
f1eb1d00fd
do not produce fpu2mmx transition if mem write faults
2009-02-13 10:15:16 +00:00
Stanislav Shwartsman
714dc45589
Fixed typo
2009-02-13 10:10:39 +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
25b7227ef2
convert some BX_DEBUG prints to BX_ERROR
...
fixed boundary fetch fault bug in some stupid corner cases
2009-02-08 17:37:19 +00:00
Stanislav Shwartsman
aeaf51d33a
FIxed #DB exception in 64-bit mode
2009-02-06 15:25:57 +00:00
Stanislav Shwartsman
21e2692997
Fixed bug in trace cache mode
2009-02-06 15:03:47 +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
7d5e058dfe
write to apic must be 16-byte aligned
2009-02-03 20:42:15 +00:00
Stanislav Shwartsman
fdf4f25230
revert incorret merge
2009-02-03 19:28:22 +00:00
Stanislav Shwartsman
fbc6f04d8a
correctly deliver INIT
2009-02-03 19:26:09 +00:00
Stanislav Shwartsman
4499ae8d02
more info abourt SIPI
2009-02-03 19:25:37 +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
de5814a22d
Fixed compilation err
2009-01-31 15:01:29 +00:00
Stanislav Shwartsman
9430c5cf95
INIT pin is blocked when CPU is waiting for SIPI
2009-01-31 11:53:57 +00:00
Stanislav Shwartsman
82969504d8
updated CPU TODO
2009-01-31 11:34:51 +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
aa982c27d8
move startup_SIPI code to CPU
2009-01-27 21:13:38 +00:00
Stanislav Shwartsman
0325c120b2
Separate PAUSE instruction from regular NOP
2009-01-27 20:29:05 +00:00
Stanislav Shwartsman
8c8ef5b869
Mask bit 11:8 of segment AR field
2009-01-23 21:28:01 +00:00
Stanislav Shwartsman
950db498c9
Fixed #DF error code
2009-01-23 18:19:57 +00:00
Stanislav Shwartsman
cd90782293
No need to save/restore EXT field
2009-01-23 17:48:38 +00:00
Stanislav Shwartsman
503cc4c836
merge fix
2009-01-23 09:33:11 +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
0b3c7262d4
Wrongly committed line
2009-01-20 21:34:59 +00:00
Stanislav Shwartsman
e7ac62ac82
extensions for exception type for future
2009-01-20 21:28:43 +00:00
Stanislav Shwartsman
74b885d74b
Updated instrumentation
...
Simplified exception code
2009-01-20 19:34:16 +00:00
Stanislav Shwartsman
c93d13d37b
small cleanups
2009-01-20 18:15:25 +00:00
Stanislav Shwartsman
db098a1205
Fix dependencies of CPU code from disasm library
...
Regent Makefile.in for CPU
2009-01-19 19:01:03 +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
a396c8a1ce
Rework SMM mess
2009-01-17 22:35:45 +00:00
Stanislav Shwartsman
cd367becd7
remove duplicate function
2009-01-17 18:56:25 +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
e540ee75ca
cleared external debugger configure stuff from configure script and makefile
2009-01-15 21:52:52 +00:00
Stanislav Shwartsman
8af7eff93f
Oops, remove future stuff
2009-01-15 17:12:18 +00:00
Stanislav Shwartsman
0836545037
Merge io.cc and io_pro.cc (required for future VMX use)
2009-01-15 16:53:08 +00:00
Stanislav Shwartsman
aee488ea3a
Fixed dbg print
2009-01-13 22:54:49 +00:00
Stanislav Shwartsman
d4611072f4
Some small updates
2009-01-13 19:00:30 +00:00
Stanislav Shwartsman
da511513b3
make displ field of instruction signed
2009-01-12 20:14:37 +00:00
Stanislav Shwartsman
0ff68a2aa2
Fixed XSAVE decode in x86-64 mode
2009-01-10 16:01:55 +00:00
Volker Ruppert
501952efdd
- removed unused logfunctions member 'type' and related method 'settype()'
...
- updated FSF address in copyright
2009-01-10 11:30:20 +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
6ea14b747c
Fixed SEGFAULT with configurable MSRS
...
fixed osdep issue in win32 enhanced debugger module
2009-01-08 18:07:44 +00:00
Stanislav Shwartsman
69153fc532
added enum for memory types
2009-01-03 20:04:03 +00:00
Volker Ruppert
e12b21e647
- update all dependencies
2009-01-03 09:54:10 +00:00
Stanislav Shwartsman
87396f051a
msr phy addr check use new function
2009-01-02 13:23:06 +00:00
Stanislav Shwartsman
3cd5ab1041
added phy addr check
2009-01-02 13:21:48 +00:00
Stanislav Shwartsman
16275b5298
Fixed msrs.def parsing
2008-12-30 18:16:30 +00:00
Stanislav Shwartsman
d56c3a18aa
reduce include dependencies in iodev.h
...
Makefile.in in iodev folder have to be regerated !
2008-12-29 20:16:08 +00:00
Stanislav Shwartsman
aff71784fc
Fixed possible mmory bug
2008-12-29 19:18:21 +00:00
Stanislav Shwartsman
6134ece1a2
hardware reset on triple fault
2008-12-29 17:46:42 +00:00
Stanislav Shwartsman
b7839dfcbe
Optimize repeat I/O calls
2008-12-29 17:35:35 +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
a794bef607
optimize invlpg for split large pages
2008-12-19 16:03:25 +00:00
Stanislav Shwartsman
7f65e6b9ed
change PANIC to ERROR
2008-12-13 18:40:39 +00:00
Stanislav Shwartsman
2682738968
added ifdefs around 1G paging implementation
2008-12-11 21:30:37 +00:00
Stanislav Shwartsman
a2e07ff971
- Removed --enable-guest2hos-tlb configure option. The option will be
...
always enabled for any Bochs configuration.
2008-12-11 21:19:38 +00:00
Stanislav Shwartsman
69bd21bf1d
1G pages support for CPU
2008-12-11 21:00:01 +00:00
Stanislav Shwartsman
5174f9fe82
Fixed debian i386 image freeze
2008-12-08 20:01:26 +00:00
Stanislav Shwartsman
1231f64d79
move function to cpu.cc
2008-12-07 19:47:34 +00:00
Stanislav Shwartsman
24f9a22550
Fixed compilation when not in x86-64
2008-12-07 06:15:26 +00:00
Stanislav Shwartsman
35487c3ebd
get/set_segment_ar_data prepared for future reuse in other than SMM mode
2008-12-06 18:52:02 +00:00
Stanislav Shwartsman
15fa42963f
get/set_segment_ar_data prepared for future reuse in other than SMM mode
2008-12-06 18:01:00 +00:00
Stanislav Shwartsman
f9ce1171fe
rename crreg accessors
2008-12-06 10:21:55 +00:00
Stanislav Shwartsman
25e05d9a60
forgot to mark code access as code
2008-12-06 07:14:40 +00:00
Stanislav Shwartsman
d7fa44d270
optimize code access detection
2008-12-05 22:34:42 +00:00
Stanislav Shwartsman
b3bbf8ded2
define generic MSR
2008-12-05 13:10:51 +00:00
Stanislav Shwartsman
70e9f4c161
preparing to different way of handling MSR registers
2008-12-05 12:48:36 +00:00
Stanislav Shwartsman
ae4e5cea65
Fixed param tree overflow
2008-12-04 20:26:06 +00:00
Stanislav Shwartsman
ef36cec716
moving definition to config.h
2008-12-01 19:35:25 +00:00
Stanislav Shwartsman
098308dd9f
some variable renames + comp warn fix
2008-12-01 19:06:14 +00:00
Stanislav Shwartsman
f69ac41e59
added infrastructure for init disable
2008-12-01 18:54:24 +00:00
Stanislav Shwartsman
e402062499
-Fixes for INVLPG
2008-11-29 19:28:10 +00:00
Stanislav Shwartsman
cde9595e86
implement cluster addressing model in local apic
...
deliver INIT IPI through local apic
2008-11-20 18:44:15 +00:00
Stanislav Shwartsman
fbd078cb70
updates for instrumentation
2008-11-18 20:58:09 +00:00
Stanislav Shwartsman
3d60e1e20d
Fixed CPU state after software reset (INIT).
...
Update instrumentation.
Clean extra space from plugin.h biosdev device name
2008-11-18 20:55:59 +00:00
Stanislav Shwartsman
d12e1fc290
Fixed CPU runway after pressing reset button
2008-11-13 22:58:54 +00:00
Stanislav Shwartsman
dbca1fb130
Fix another corner case in prefetch()
2008-11-11 17:44:19 +00:00
Stanislav Shwartsman
5f9afb550a
Fix in cpu.cc
2008-11-09 22:33:44 +00:00
Stanislav Shwartsman
857392583a
- Fixed exceptions handling in v8086 mode
2008-11-09 22:08:21 +00:00
Stanislav Shwartsman
0f5f075e4d
- Fixed theoretically possible pageWriteStamp overflow
2008-10-21 19:50:05 +00:00
Stanislav Shwartsman
82815c4bef
Put back simple hash function for icache and trace cache - more cache misses but still ~3% speedup
2008-10-14 17:23:53 +00:00
Stanislav Shwartsman
c11ad9405d
one more
2008-10-10 21:09:25 +00:00
Stanislav Shwartsman
5261e6f73a
Optimize prefetch() method
2008-10-10 20:49:16 +00:00
Stanislav Shwartsman
577c8c7969
another way to do the same optimization
2008-10-08 20:40:26 +00:00
Stanislav Shwartsman
17040303f7
Optimization of repeat string
2008-10-08 20:15:37 +00:00
Stanislav Shwartsman
ab716f62aa
inline prepareMMX method
2008-10-08 11:14:35 +00:00
Stanislav Shwartsman
489447ae57
Fixed FPU2MMX state transition - should be done only fater all memory faults already checked
2008-10-08 10:51:38 +00:00
Alexander Krisak
e108fe0d58
Yet another win32 build fix. cpu/resolve.cc renamed to cpu/resolver.cc
...
because it conflicts with disasm/resolve.cc.
2008-10-07 07:47:56 +00:00
Stanislav Shwartsman
52a0eb2143
- Avoid 32-bit EIP wrap in prefetch()
2008-10-06 22:19:22 +00:00
Stanislav Shwartsman
3b0e84d9e3
The same again
2008-10-06 20:41:28 +00:00
Stanislav Shwartsman
367116ee3d
Do not access 64-bit vars when guaranteed to be in 32-bit mode with upper part of ther RIP/RSP cleared
2008-10-06 20:26:14 +00:00
Stanislav Shwartsman
67fae3ab41
Fixed compilation
2008-10-06 20:06:30 +00:00
Stanislav Shwartsman
4cf63f4804
Delete unused file
2008-10-06 20:05:23 +00:00
Stanislav Shwartsman
2066d8b594
Fixed compilation issues
2008-10-06 17:50:06 +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