Commit Graph

7034 Commits

Author SHA1 Message Date
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
Stanislav Shwartsman
fda4d38959 32-bit systems have a problem to allocate large amount of physical memory for Bochs simulation which makes simulation with 4G address space virtually impossible. But in most of the cases when 4G physical address space defined - it is not touched by default on every run so it is possible to allocate only really accessed blocks. This commit made all necessary preparations for it. 2008-04-17 14:39:33 +00:00
Stanislav Shwartsman
72cefc818f Fix busy TSS in TR 2008-04-17 14:22:23 +00:00
Stanislav Shwartsman
5b900fbb5e Fixed exception name (another one) 2008-04-16 22:28:07 +00:00
Stanislav Shwartsman
af88602782 Fixed get_SS_ESP_from_TSS to support busy TSS as well 2008-04-16 22:22:10 +00:00
Stanislav Shwartsman
36926542e6 Fixed canonical fault exceptions for call_far, interrupt, lldt and ltr instructions 2008-04-16 22:08:46 +00:00
Stanislav Shwartsman
7593d9d7e2 Fixed exception name 2008-04-16 21:49:46 +00:00
Stanislav Shwartsman
c611d9aca0 Fixed LEAVE in 64-bit mode 2008-04-16 21:35:43 +00:00
Stanislav Shwartsman
892fa99c6f - prefetch hint should be NOP when use in register mode
- #GP when trying to set reserved bits of CR4_HI in 64-bit mode
- #GP when trying to set reserved bits of EFER MSR
- clear upper part of RSI/RDI when executing rep instructions with 32-bit asize
  even if no repeat iterations were executed (because of RCX=0 for example)
- write SYSENTER_EIP_MSR and SYSENTER_ESP_MSR as 64-bit when x86_64 supported
- set MSR_FMASK reset value
- MSR_FMASK should be 32-bit only
- check for fetch permissions when doing ITLB lookup
- #GP when trying to write non-canonical address to MSR_CSTAR or MSR_LSTAR
- correct repeat instructions timing
- mark TSS busy in TR after it is loaded
2008-04-16 16:44:06 +00:00
Stanislav Shwartsman
068276b957 - added description for debugger exceptions
- fixed EFLAGS debug print from internal debugger
2008-04-16 16:42:00 +00:00
Stanislav Shwartsman
419dc57dbd Complete MASKMOVDQU decoding fix 2008-04-16 05:56:55 +00:00
Stanislav Shwartsman
b3167d1a8f Docs for MASKMOVQ were also not correct :( 2008-04-16 05:45:45 +00:00