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
Stanislav Shwartsman
4f3f8608f7
Fixed MASKMOVDQU instruction decoding
2008-04-16 05:41:43 +00:00
Stanislav Shwartsman
67f02bfa12
Add debugger callback
2008-04-15 21:29:18 +00:00
Stanislav Shwartsman
6d65d82e03
Call BX_INSTR_EXIT callback instead of BX_INSTR_SHUTDOWN
2008-04-15 21:27:57 +00:00
Stanislav Shwartsman
715b553aef
Rename BX_INTR_SHUTDOWN callback to BX_INSTR_EXIT
2008-04-15 21:27:11 +00:00
Stanislav Shwartsman
4c26043969
Fixed 3rd fault detection (shutdown condition)
2008-04-15 17:22:11 +00:00
Stanislav Shwartsman
8b7c128062
Update CHANGES
2008-04-15 14:45:43 +00:00
Stanislav Shwartsman
fab4042cad
SYSENTER/SYSEXIT in long mode
2008-04-15 14:41:50 +00:00
Stanislav Shwartsman
e4b41764d0
Enabled #AC exception, fixed PANIC message
2008-04-14 21:48:37 +00:00
Stanislav Shwartsman
9668e735cd
Inline fpu exceptions functions
2008-04-14 16:50:27 +00:00
Stanislav Shwartsman
3dc0438c43
Implemented CALL_Far64 and JMP_Far64 according to Intel docs
2008-04-13 20:57:49 +00:00
Stanislav Shwartsman
76a8812876
correct some opcode aliases
2008-04-12 10:08:43 +00:00
Stanislav Shwartsman
e5e8785973
Can't use access_linear in debugger because it has sideeffects on CPU
2008-04-11 21:59:47 +00:00
Stanislav Shwartsman
397e2b6eac
fixed long mode exception handling
2008-04-11 21:40:36 +00:00
Stanislav Shwartsman
138023fbc7
Fixed priority between exceptions in call through call gate in 64-bit mode
2008-04-11 18:35:47 +00:00
Stanislav Shwartsman
a8c273c7bf
Fixed disasm bug in 64-bit mode
2008-04-11 17:54:21 +00:00
Stanislav Shwartsman
20a8bf03ad
Added comments for >32 bit physical address error message
2008-04-11 14:30:15 +00:00
Stanislav Shwartsman
1350b77700
Fixed 'r' command with 64-bit registers
2008-04-11 14:16:46 +00:00
Stanislav Shwartsman
ae82e981c0
Updated BIOS binaries
2008-04-10 20:30:20 +00:00
Stanislav Shwartsman
e23896e3cf
Forgot to merge CDECL definition
2008-04-09 16:33:38 +00:00
Stanislav Shwartsman
1fe82e7fd1
Fixed compilation issues
2008-04-09 06:03:17 +00:00
Stanislav Shwartsman
730214a8ec
Add TODO items
2008-04-08 17:59:51 +00:00
Stanislav Shwartsman
a98cd9f781
small cpu code reorganization
2008-04-08 17:58:56 +00:00
Stanislav Shwartsman
dcb392311f
Merged BIOS patches from @SF tracker
2008-04-08 16:41:18 +00:00
Stanislav Shwartsman
a33d8c6008
Make get_laddr and get_segment_base BX_SMF
2008-04-08 05:36:30 +00:00
Stanislav Shwartsman
8424d2b888
Fixed required to make MSVC build with fastcall optimization (-Gr) healthy.
...
There is a trick in MSVC is to turn on the -Gr compiler switch which tells MSVC to compile all functions using fastcall calling convention. This way you don't have to edit each function declaration. But certain functions must NOT be fastcall, and those are callbacks from Windows which are defined either as cdecl or stdcall. The entry point main() also has to remain cdecl.
Patch by Darek Mihocka
2008-04-07 20:20:04 +00:00
Stanislav Shwartsman
a851cfd8f0
Re-implemented modebp debugger function in simple and more clean way
2008-04-07 19:59:53 +00:00
Stanislav Shwartsman
44f04a93da
Fixed compilation issue
2008-04-07 19:00:30 +00:00
Stanislav Shwartsman
1fc892406c
Indent changes
2008-04-07 18:48:11 +00:00
Stanislav Shwartsman
fea49bb270
Fixed linear address wrap in legacy (not long64) mode
2008-04-07 18:39:17 +00:00
Stanislav Shwartsman
fe59e0ae6a
FIxed comment in fetchdecode
2008-04-06 18:31:10 +00:00
Stanislav Shwartsman
b1a7736514
Code cleanup
2008-04-06 18:27:24 +00:00
Stanislav Shwartsman
77d91d59aa
Inline prepare_SSE and prepare_XSAVE functions
2008-04-06 18:00:20 +00:00
Stanislav Shwartsman
420f30816d
inline integer saturation code - speedup for MMX/SSE integer
2008-04-06 13:56:22 +00:00
Stanislav Shwartsman
2a121e2664
Fixed compilation error with bx debugger
2008-04-05 21:41:31 +00:00
Stanislav Shwartsman
b1446727bf
Fixed english grammar error
2008-04-05 21:28:11 +00:00
Stanislav Shwartsman
1b622661d7
Cleanup
2008-04-05 20:49:21 +00:00
Stanislav Shwartsman
90f1973bef
Removed BX_USE_TLB - TLB is always used, only Guest2HostTLB is optional feature
...
Use Guest2HostTLB in prefetch code for IFETCHES - speedup above 3%
2008-04-05 20:41:00 +00:00
Stanislav Shwartsman
c8d8eb8e52
Remove eplicit machine:I386 flag for compilation with MSVCPP
...
it allows to build 64-bit native Bochs under Win64 and MSVCPP
2008-04-05 19:21:52 +00:00
Stanislav Shwartsman
1bdddc1f78
Split SHRD/SHLD instructions
2008-04-05 19:08:01 +00:00
Stanislav Shwartsman
16bf4402b0
Remove wrongly committed code
2008-04-05 17:57:21 +00:00
Stanislav Shwartsman
5826e2843a
Inline pop/push functions
...
Store only single byte of opcode in b1() - speedup shift instructions
Code cleanups
2008-04-05 17:51:55 +00:00