Commit Graph

6368 Commits

Author SHA1 Message Date
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
Stanislav Shwartsman
8e2850b3ec Mark TSS busy after it is loaded 2008-04-19 11:08:39 +00:00
Stanislav Shwartsman
9f2906eab8 Rename instrumentation callback for MEM ACCESS 2008-04-19 11:08:06 +00:00
Stanislav Shwartsman
8ff1b3c15e Update MEM_ACCESS instrumentation 2008-04-19 10:13:04 +00:00
Stanislav Shwartsman
a652e773d9 Update memory access instrumentation code 2008-04-19 10:12:09 +00:00
Stanislav Shwartsman
cacec881cf Fixed param type for set_TSC 2008-04-18 18:37:29 +00:00
Stanislav Shwartsman
15e9dca062 - support 64-bit write to MSR_TSC using WRMSR instruction
- fixed save/restore param type for async_event
- fixed setting of reserved bits in upper part of CR4 in 64-bit mode
2008-04-18 18:32:40 +00:00
Stanislav Shwartsman
ab76cbb4a0 Improve param interface 2008-04-18 16:47:45 +00:00
Stanislav Shwartsman
de97f61b0c Fixed destination \register for SSE4.2 instructions 2008-04-18 14:15:58 +00:00
Stanislav Shwartsman
1a34834db9 Fixed disasm for SSE4.2 instr 2008-04-18 14:09:24 +00:00
Stanislav Shwartsman
4ee1bf4b68 Fixed paging permissions for code fetch 2008-04-18 13:51:09 +00:00
Stanislav Shwartsman
eea58f04cd Fixed ret_near decoding in 64-bit mode 2008-04-18 13:11:52 +00:00
Stanislav Shwartsman
5993ca527c - fixed 286 tss handling (descriptor wasn't parsed correctly)
- fixed timing of faulted instructions
- fixed PANIC message in interrupt through incorrect task gate
2008-04-18 10:19:33 +00:00
Stanislav Shwartsman
639967e1da Fixed typo 2008-04-17 20:48:52 +00:00
Stanislav Shwartsman
5665dab58c More places where CPU vector was used 2008-04-17 20:45:00 +00:00
Stanislav Shwartsman
d8c77cc1ae Small cleanup for memory class 2008-04-17 20:20:43 +00:00