Commit Graph

6756 Commits

Author SHA1 Message Date
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
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