Commit Graph

6810 Commits

Author SHA1 Message Date
Stanislav Shwartsman
06c6ac0060 - Fixed effective address wrap in 64-bit mode with 32-bit address size
- Fixed SMSW instruction in 32-bit and 64-bit modes
2008-04-28 18:18:08 +00:00
Stanislav Shwartsman
b000c6ac17 - Fixed TSS limit check in task switch routine 2008-04-28 18:14:50 +00:00
Stanislav Shwartsman
66282a2078 Fixed FRSTOR instruction 2008-04-27 20:43:38 +00:00
Stanislav Shwartsman
67e534832b Remove from CPU reference to MEM object - it is only one and could be static 2008-04-27 19:49:02 +00:00
Stanislav Shwartsman
98f1930a80 Fixed compilation issue (patch by Eugene Toder) 2008-04-27 19:47:12 +00:00
Stanislav Shwartsman
4ecadb915b Fixed FPU tags after FLDENV instruction 2008-04-26 20:24:20 +00:00
Stanislav Shwartsman
f17928ead0 Remove debug prints 2008-04-26 19:56:48 +00:00
Stanislav Shwartsman
e86102eea5 Fixed 2nd dword of 64-bit descriptor check 2008-04-26 19:41:28 +00:00
Stanislav Shwartsman
ee88a125e7 for FPU instruction which load data from memory we should access memory first and only then check if it FPU stack overflow
memory access might fault before
2008-04-26 19:38:53 +00:00
Stanislav Shwartsman
6c82e707c8 FIxed typo 2008-04-26 18:58:26 +00:00
Stanislav Shwartsman
003c23e7ea Added aliases for some debugger command
fp|fpu - same as info fpu
sse - same as info sse
mmx - same as info mmx
sreg - same as info sreg
2008-04-26 18:50:32 +00:00
Stanislav Shwartsman
40bceb55fa Fixed floating point opcode masking 2008-04-26 12:14:58 +00:00
Stanislav Shwartsman
7384c8e07d Fixed restore state in task switch 2008-04-26 10:20:15 +00:00
Stanislav Shwartsman
bbe7db9e88 Fixed bug with pushing into new stack in exception function
Fixed bug with Expand down segment limits (can be critical)
2008-04-25 21:21:46 +00:00
Stanislav Shwartsman
c660853202 Implemented info ldt command 2008-04-25 21:08:58 +00:00
Stanislav Shwartsman
9047c9be96 Support for reserved bits checking in paging
Check for page is in DTLB before invalidating by INVLPG
2008-04-25 20:08:23 +00:00
Stanislav Shwartsman
7b1579f3ca Fixed trace-mem print format 2008-04-25 19:27:18 +00:00
Stanislav Shwartsman
00ee869624 alignment check for write_new_stack 2008-04-25 12:44:16 +00:00
Stanislav Shwartsman
a647c7e551 Check for old TSS limits in task switching logic
MSR_GSKERNELBASE should be canonical - added WRMSR check
2008-04-25 11:39:51 +00:00
Stanislav Shwartsman
b78878bd90 Fixed #AC exception detection 2008-04-25 08:19:36 +00:00
Stanislav Shwartsman
cf47fab9d0 Fixed address size wrap in the bittest/set instructions 2008-04-25 07:40:51 +00:00
Stanislav Shwartsman
ea48400435 Chnage back write variables order 2008-04-24 22:41:46 +00:00
Stanislav Shwartsman
83e55874a4 Fixed compilation issue 2008-04-24 21:59:42 +00:00
Stanislav Shwartsman
64f2489afb Correctly implement opcode group G11 i.e. instructions C6 and C7 should @UD when modrm nnn field != 0 (1st instr in the group 2008-04-24 21:52:28 +00:00
Stanislav Shwartsman
8e08402eb2 Fixed loading of SS null selector in long mode afer exception 2008-04-24 20:52:27 +00:00
Stanislav Shwartsman
b504253645 Added canonical check for LIDT/LGDT instructions in 64-bit mode 2008-04-24 19:34:01 +00:00
Stanislav Shwartsman
d24a274909 Eliminate can_pop function - with bugfix in retf 2008-04-23 17:25:21 +00:00
Stanislav Shwartsman
3c7949948b - Added >32bit physical address PANIC in PSE mode with 4M paging
- Fixed LAR/LSL instructions in 64-bit mode
2008-04-22 22:05:38 +00:00
Stanislav Shwartsman
b33d1a19a4 Correctly push error code after task switch in exception() 2008-04-21 21:29:43 +00:00
Stanislav Shwartsman
c09934f90a some small cleanup in paging code 2008-04-21 20:17:45 +00:00
Stanislav Shwartsman
2a1e97b394 POPCNT option should be enabled by default when configured with SSE4_2 2008-04-21 19:57:07 +00:00
Stanislav Shwartsman
55ee5f0f38 Fixed compilation errror 2008-04-21 19:55:04 +00:00
Stanislav Shwartsman
8e0f09aa48 Update CHANGES 2008-04-21 14:27:39 +00:00
Stanislav Shwartsman
024b3eece7 Merged LBA48 patch from @SF tracker 2008-04-21 14:22:01 +00:00
Stanislav Shwartsman
0609d7e7ce Handle undocumented FPU opcodes 2008-04-21 14:17:48 +00:00
Stanislav Shwartsman
a055323e18 Handle undocumented FPU opcodes
Support for BIG real mode CS.LIMIT check
2008-04-21 14:17:04 +00:00
Stanislav Shwartsman
24f1507fa9 - sysenter/exit should be supported in v8086 mode as well
- fixed missed CS.LIMIT check in all far calls/jmps in real/v8086 mode
2008-04-20 21:44:13 +00:00
Stanislav Shwartsman
280617288c Mode change in SYSENTER/EXIT/CALL/RET could happen only when already in long mode 2008-04-20 18:17:14 +00:00
Stanislav Shwartsman
a91ef4e31b Ignore CS.L bit when EFER.LMA is not set
Add potentially missed CPU mode change in SYSCALL/RET/ENTER/EXIT
2008-04-20 18:10:32 +00:00
Stanislav Shwartsman
57a8e24615 Fixed REOUNDPS/PD/SS/SD 2008-04-20 14:10:44 +00:00
Stanislav Shwartsman
a45df4b584 Fixed ROUNDPS/PD bug 2008-04-20 13:32:42 +00:00
Stanislav Shwartsman
4ada6b6e8e Fixed timebp bug 2008-04-20 09:20:56 +00:00
Stanislav Shwartsman
d9bf2b8453 Small emulation speed optimization 2008-04-19 22:29:44 +00:00
Stanislav Shwartsman
c9c16ad87f Update LEX/YACC precompiled files for internal debugger 2008-04-19 20:21:29 +00:00
Stanislav Shwartsman
bc86f6393a Removed incorrect commit 2008-04-19 20:11:30 +00:00
Stanislav Shwartsman
9ddcd01b27 Fixes for trace-mem command 2008-04-19 20:01:09 +00:00
Stanislav Shwartsman
359eb92c73 More fixes for CPU emulation 2008-04-19 20:00:28 +00:00
Stanislav Shwartsman
e10bd0b7a5 tasking - read state first and only when store state in new TSS
paging - fixed data for trace-mem callbacks
2008-04-19 14:13:43 +00:00
Stanislav Shwartsman
5fafafb5e6 Added trace-mem to debugger help 2008-04-19 13:22:05 +00:00
Stanislav Shwartsman
bdaef81603 Added debugger memory trace functionality. Enable by 'trace-mem on' command 2008-04-19 13:21:23 +00:00