Commit Graph

6739 Commits

Author SHA1 Message Date
Stanislav Shwartsman
a6fda9a971 Instrumentation code updated, some PANIC messages fixed 2008-06-23 02:56:31 +00:00
Volker Ruppert
b6932bc3f8 - applied rombios patches from SF tracker by Sebastian
* handle shutdown status codes 0Ah, 0Bh and 0Ch
  * changed #if #else construct since hard_drive_post is always called
2008-06-22 09:05:35 +00:00
Volker Ruppert
457d320524 - applied patches for the term gui from SF tracker by Sebastian
* fixed missing SIGHUP and SIQUIT on MinGW
  * fixed wrong colors if curses library supports more than 8
2008-06-22 08:32:59 +00:00
Stanislav Shwartsman
678ac970aa Reorganize ctrl_xfer8.cc code, allows to inline branch32 method 2008-06-22 03:45:55 +00:00
Stanislav Shwartsman
599a9b2e32 Fixed bug found by icc compiler 2008-06-18 16:33:44 +00:00
Stanislav Shwartsman
97bf141fc3 Added paramter to APIC reset method 2008-06-17 21:21:17 +00:00
Stanislav Shwartsman
5b4c29e2de Fixed warnings found by icc compiler 2008-06-17 20:23:16 +00:00
Stanislav Shwartsman
0dd9f19800 Fixed bx_debug compilation with gcc 4.3 2008-06-16 17:09:52 +00:00
Stanislav Shwartsman
fc6671a67b Commented out assertion which doesn't work 2008-06-16 04:49:19 +00:00
Stanislav Shwartsman
9d1bc903d8 Fixed typo in MTRR, added assertions 2008-06-15 20:41:34 +00:00
Stanislav Shwartsman
84d34b8527 TESTFORM update 2008-06-15 16:26:07 +00:00
Stanislav Shwartsman
7e551996c1 Added "incomplete" tag to 3dnow option 2008-06-14 16:57:36 +00:00
Stanislav Shwartsman
a0e66d0e4c fixed variable name 2008-06-14 16:55:45 +00:00
Stanislav Shwartsman
4cbe1c6568 Updated TESTFORM 2008-06-13 20:59:27 +00:00
Stanislav Shwartsman
98581c44d3 Fixed compilation when use64 is disabled 2008-06-13 08:17:52 +00:00
Stanislav Shwartsman
95fadbe96a FIxed assertion failure in recently added code 2008-06-13 08:02:22 +00:00
Stanislav Shwartsman
d19dd8cf74 Added BX_ASSERT_ENABLE configure option to control BX_ASSERT code @configure time.
By default BX_ASSERT will be disabled 'cause it affects emulation performance
It will be ON by default when BX_DEBUGGER compiled in
2008-06-12 21:02:54 +00:00
Stanislav Shwartsman
061555b7c1 Print HALTED message only when tracing is enabled 2008-06-12 21:00:25 +00:00
Stanislav Shwartsman
ecc7f33933 - fixed compilation on big endian machines (patch from @SF) 2008-06-12 20:41:48 +00:00
Stanislav Shwartsman
3504406996 optimizations with branch_near usage 2008-06-12 20:27:38 +00:00
Stanislav Shwartsman
1a355e270e split io repeat methods by address size 2008-06-12 20:12:25 +00:00
Stanislav Shwartsman
92568f7525 Faster 32-bit emulation wwith 64-bit enabled mode.
~10% speedup byu optimization of 32-bit mem access
2008-06-12 19:14:40 +00:00
Stanislav Shwartsman
607900dd4d very small cleeanup 2008-06-12 16:40:53 +00:00
Stanislav Shwartsman
77ce9d617e Small bug fixed 2008-06-11 21:10:02 +00:00
Stanislav Shwartsman
7d2df1b104 same optimization in disasam 2008-06-11 21:05:38 +00:00
Stanislav Shwartsman
8ea32b4279 Simplify physical memory access by devices 2008-06-11 20:59:50 +00:00
Stanislav Shwartsman
7f82a536b3 Fixed code duplication during prefix decoding 2008-06-11 20:58:29 +00:00
Stanislav Shwartsman
288b086e20 Fixed compilation err 2008-06-11 20:29:30 +00:00
Volker Ruppert
5677977b47 - updated upload instructions for release files 2008-06-10 21:41:27 +00:00
Stanislav Shwartsman
8896873383 FIxed compilation warning _ indent 2008-06-09 23:00:43 +00:00
Stanislav Shwartsman
aff775bce4 Small code optimization 2008-06-09 19:35:59 +00:00
Volker Ruppert
45c64ff16c - added release tag for 2.3.7 to user doc
- updated version number and strings after release
2008-06-08 10:33:59 +00:00
Stanislav Shwartsman
46e9d09cbc Typo again :) 2008-06-04 16:31:03 +00:00
Stanislav Shwartsman
e69a12c3dd Fixed typo (patchfrom @SF) 2008-06-04 16:28:16 +00:00
Stanislav Shwartsman
4c93fd4a21 Fixed typos (patch from @SF) 2008-06-04 16:27:42 +00:00
Volker Ruppert
9964cd8eae - regenerated for release 2.3.7 2008-06-03 16:12:14 +00:00
Volker Ruppert
a56f9baacf - updates for release 2.3.7 2008-06-03 16:11:20 +00:00
Volker Ruppert
69f3fd5693 - BIOS images regenerated 2008-06-03 16:03:40 +00:00
Stanislav Shwartsman
98037acc88 Update CHANGES 2008-06-02 20:12:52 +00:00
Stanislav Shwartsman
424f316e07 Fixed comment 2008-06-02 20:11:03 +00:00
Stanislav Shwartsman
e34938386a Merged patch from @SF tracker 2008-06-02 20:08:10 +00:00
Stanislav Shwartsman
3d3dba7804 - Implemented GD bit in DR7 register 2008-06-02 19:50:40 +00:00
Stanislav Shwartsman
b7480b3e6f - Fixed x86 data breakpoint match when breakpoint length is 8 bytes
- FIxed x86 data breakpoint in paging disabled mode
2008-06-02 18:41:08 +00:00
Stanislav Shwartsman
40bbae9b84 Fixed compilation by Microsoft nmake 2008-06-01 16:48:13 +00:00
Volker Ruppert
16e391187f - fixed missing key release event for the enter key (SF bug #1976171) 2008-06-01 10:56:29 +00:00
Volker Ruppert
a21f26bd5f - corrected image size (biossums added 512 bytes with checksum after fixing the
timestamp manually from German to English)
2008-06-01 10:01:34 +00:00
Stanislav Shwartsman
d2ba79abdd Removed PANIC in DqRq function 2008-05-31 21:17:02 +00:00
Stanislav Shwartsman
8596a2a242 Fix compilation, update CHANGES 2008-05-31 21:07:30 +00:00
Stanislav Shwartsman
8d17e7b539 Fixed watchpoints handling 2008-05-31 20:59:38 +00:00
Stanislav Shwartsman
764756d74a Handle reserved bits of CR8 2008-05-31 09:26:28 +00:00
Stanislav Shwartsman
46a9524e70 Fixed commnt 2008-05-30 21:14:49 +00:00
Stanislav Shwartsman
9393cff0b9 Fixed CPU CPL restore when in v8086 mode 2008-05-30 21:10:37 +00:00
Stanislav Shwartsman
f74d7b56e7 update Bochs 2.3.7 IPS data in docs 2008-05-30 21:00:05 +00:00
Stanislav Shwartsman
3bfcdb154c Added new file 2008-05-30 20:37:52 +00:00
Stanislav Shwartsman
7494b8823b - Support of AES CPU extensions, to enable configure with
--enable-aes option
2008-05-30 20:35:08 +00:00
Stanislav Shwartsman
5c75e54d45 cleanup and small optimization for non-paging mode 2008-05-30 16:58:47 +00:00
Volker Ruppert
493f99d9b7 - LGPL'd VGABIOS updated to version 0.6b (see VGABIOS-lgpl-README for details) 2008-05-30 16:55:56 +00:00
Stanislav Shwartsman
6c5f82c4c8 - Fixed bug in global pages TLB invalidation 2008-05-30 12:14:00 +00:00
Stanislav Shwartsman
ff332232d4 Fixed compiler warning 2008-05-26 21:51:46 +00:00
Stanislav Shwartsman
d295371450 - Correctly handle segment a byte in BIG real mode 2008-05-26 21:46:39 +00:00
Stanislav Shwartsman
aaf6b3a648 Added comments 2008-05-26 18:02:07 +00:00
Stanislav Shwartsman
77fbc2c187 Fixed LAR/LSL in 64-bit mode, compilation error fixes 2008-05-25 15:53:29 +00:00
Stanislav Shwartsman
a85dfc7617 Added disasm for AES instructions 2008-05-25 15:42:26 +00:00
Volker Ruppert
a61046dbef - implemented yes/no dialog and enabled string dialog for the folder selection
- save/restore feature now uses the x gui dialogs
2008-05-25 12:28:27 +00:00
Volker Ruppert
fb8247cd02 - set floppy drive type to the highest compatible value (TODO: floppy drive
type should be a separate config option)
2008-05-25 06:25:44 +00:00
Stanislav Shwartsman
7215607df2 - Fixed missed #DE exception in x86-64 IDIV instruction 2008-05-24 10:26:03 +00:00
Volker Ruppert
19aa190d48 - it's not necessary to set up the physical address in the init code, since the
PARs are cleared by initial hardware reset. The physical address for incoming
  packets must be initialized by the guest's driver.
- added BX_INFO at completion of the physical address setup
2008-05-24 06:53:05 +00:00
Stanislav Shwartsman
ef2120a3ac Fixed compilation err with debugger enabled 2008-05-23 18:06:50 +00:00
Stanislav Shwartsman
d76297d01e Fixed compilation err 2008-05-23 17:58:42 +00:00
Stanislav Shwartsman
3619c0f6b4 Some changes to make x86-debugger feature working back 2008-05-23 17:49:46 +00:00
Stanislav Shwartsman
3f1e436926 Removed unused variables in bx_dbg struct 2008-05-23 14:04:45 +00:00
Stanislav Shwartsman
2b4fa16c4a Fixed EFLAGS update in IRET 2008-05-23 13:46:52 +00:00
Volker Ruppert
94edd3cf3c - store prefix and message in 'exit_msg' before unloading device plugins.
A device panic or APM / ACPI power off caused an access violation when writing
  to console with plugins enabled, since bx_atexit() unloads them.
2008-05-23 08:51:31 +00:00
Volker Ruppert
45ee95cd38 - changes updated 2008-05-22 20:26:13 +00:00
Volker Ruppert
966f2c8133 - added new serial modes based on SF patch #1928848 by Eugene Toder
* "pipe-server" (win32 only): It makes bochs a named pipe server so other
     application can communicate with it using pipes API. Useful e.g. for remote
     kernel debugging.
  * "pipe-client" (win32 only)
  * "socket-server": for the use with gdb
2008-05-22 08:13:22 +00:00
Stanislav Shwartsman
4e091f2a3a Improved debug prints 2008-05-21 21:38:59 +00:00
Stanislav Shwartsman
af78632408 Fixes in iret emulation 2008-05-20 22:15:16 +00:00
Stanislav Shwartsman
82d8e9a3b0 Fixed compilation warning 2008-05-19 20:05:03 +00:00
Stanislav Shwartsman
3b39c011a6 Fixed io permissions bitmap exception 2008-05-19 20:01:23 +00:00
Stanislav Shwartsman
f331919d63 indent + FPU debug print fixes 2008-05-19 20:00:42 +00:00
Stanislav Shwartsman
8118ba1a67 Fixed debug extensions exception priority 2008-05-19 19:59:29 +00:00
Stanislav Shwartsman
e98b58651d Added missed newline 2008-05-19 19:11:24 +00:00
Stanislav Shwartsman
4e5d10d02e Code reorganization + small bug fixes in translate linear code 2008-05-19 18:10:32 +00:00
Volker Ruppert
02ba8c791f - set the compatible pci interrupt router back to PIIX (SF patch #1956843 by Sebastian) 2008-05-18 11:38:24 +00:00
Volker Ruppert
2c2812c15b - implemented cdrom change dialog using the string dialog with some extensions 2008-05-18 08:52:48 +00:00
Stanislav Shwartsman
d897b9aacf Update CHANGES 2008-05-17 19:39:28 +00:00
Stanislav Shwartsman
b9f2b61fa6 Fixed CPU bug which stopped the Menuet64 OS from booting ! 2008-05-17 19:30:55 +00:00
Stanislav Shwartsman
76fc10e3d4 Added ability to override exception class to TRAP (#DB) 2008-05-15 20:10:00 +00:00
Stanislav Shwartsman
78324066c3 Fixed code descriptor fields in 64-bit mode 2008-05-13 05:12:11 +00:00
Stanislav Shwartsman
c3f96973ba Added debug prints 2008-05-12 19:19:03 +00:00
Volker Ruppert
5869cb8b1f - disable IPS output in status bar with the new specific option "hideIPS"
- simplified dialog window creation and dialog control handling code
- documentation updates
2008-05-12 18:46:46 +00:00
Stanislav Shwartsman
6865edb5ee Fixed pushing to stack in call far through 64-bit call gate 2008-05-12 06:12:12 +00:00
Stanislav Shwartsman
bef3450baa Fixes to 64-bit mode 2008-05-11 20:46:11 +00:00
Stanislav Shwartsman
d934190370 Fixed data type for cr3_masked 2008-05-11 19:58:41 +00:00
Stanislav Shwartsman
4a76bd2169 Fixed setting of reserved bits in CR3 register 2008-05-11 19:36:06 +00:00
Volker Ruppert
8a94fc2315 - simple string dialog now supports strings larger than the edit box
- the label of the parameter now the default for the string dialog title
- now using simple string dialog for editing the filename of the text snapshot
2008-05-11 09:50:02 +00:00
Stanislav Shwartsman
81b1a0ddb7 Fixed bug in BLENDVPS/PD instructions 2008-05-10 22:20:05 +00:00
Stanislav Shwartsman
56a44d675b Fixed potential memory overflow in dbg paging function 2008-05-10 22:11:48 +00:00
Stanislav Shwartsman
f6b7fecba2 For future 64-bit ph.addr 2008-05-10 21:36:55 +00:00
Stanislav Shwartsman
c8f870c9ac Remove incorrect assertion 2008-05-10 21:30:30 +00:00
Stanislav Shwartsman
3fd4a09bbc preparations for future 64-bit physical address support 2008-05-10 20:39:53 +00:00
Stanislav Shwartsman
d3528cccd6 Style fixes - name convention for push to new stack methods 2008-05-10 20:35:03 +00:00
Stanislav Shwartsman
fafae755b3 Formatting fixes 2008-05-10 20:33:39 +00:00
Stanislav Shwartsman
ec1ff39a5f Splitted memory access methods for 32 and 64-bit code.
The 64-bit code got >10% speedup, the 32-bit code also got about 2% because laddr cacluation optimization
2008-05-10 18:10:53 +00:00
Stanislav Shwartsman
8022225907 Disable BX_ASSERT when NO_LOGGING is set 2008-05-10 18:04:37 +00:00
Stanislav Shwartsman
352fd55a4d Update CHANGES 2008-05-10 15:08:18 +00:00
Stanislav Shwartsman
ebc4bf0cff Check RIP for canonical boundaries in 64-bit mode 2008-05-10 15:02:42 +00:00
Stanislav Shwartsman
eceb1b4197 Use -C flag for make instead shell 'cd' command 2008-05-10 13:53:25 +00:00
Stanislav Shwartsman
3634c6f892 Compress FPU tag word 2008-05-10 13:34:47 +00:00
Stanislav Shwartsman
307d75f632 Optimizations in FPU tag word handling - compress FPU tag word internally and expose only when calling for tag word read operations (only 4 instructions) 2008-05-10 13:34:01 +00:00
Stanislav Shwartsman
177b4831a8 Another fix for C1 bit clear/set 2008-05-10 10:15:01 +00:00
Stanislav Shwartsman
15e772964d Fixes with C1 bit clear/set 2008-05-10 09:17:24 +00:00
Stanislav Shwartsman
6ebae41ad7 print physcial address with special format - preparations for 64-bit physical address emu 2008-05-09 22:33:37 +00:00
Stanislav Shwartsman
8e7cf2bf3a - Fixed CPUID
- Merged jmp_call_gate16 and jmp_call_gate32 to single function
2008-05-09 18:09:04 +00:00
Stanislav Shwartsman
80c9b5fcbe Compilation error fixed 2008-05-09 08:28:00 +00:00
Stanislav Shwartsman
16d073bf51 Fixed recently introduced PUSH_Eq decoding bug 2008-05-08 21:34:22 +00:00
Stanislav Shwartsman
09c875b11c Fixed dbg comment 2008-05-08 21:04:03 +00:00
Stanislav Shwartsman
9322fc8809 Added patch for compilation of Bochs BIOS with win32 version of bcc 2008-05-08 18:53:07 +00:00
Stanislav Shwartsman
6bb845caa0 iFixed ENTER instruction 2008-05-08 18:02:21 +00:00
Stanislav Shwartsman
25ce5f7d48 Small functionality correctness fixes 2008-05-07 16:45:07 +00:00
Stanislav Shwartsman
74e2127c5e Fixed OF flag handling bug 2008-05-06 20:29:26 +00:00
Stanislav Shwartsman
5da460b6dc Clear segment descriptor cache when loading null selector 2008-05-06 19:45:17 +00:00
Stanislav Shwartsman
48d45518eb Fixed CMPXCHG code bug from yesterday 2008-05-06 05:06:32 +00:00
Stanislav Shwartsman
eedf26627f Fixes in CMPXHG8B instruction - slight speedup and correct #AC check 2008-05-05 21:48:07 +00:00
Stanislav Shwartsman
f182f11a8e - significantly improve FPU debug print
- update FPU TW before saving FPU state by FNSAVE or FNSTENV
2008-05-05 21:23:33 +00:00
Stanislav Shwartsman
685a10749d Remove redundant RSP canonical check - will happen anyway in push function 2008-05-04 21:51:52 +00:00
Stanislav Shwartsman
64a80c8a2d - Added canonical check for SYSENTER MSRs in WRMSR
- Fixed LLDT and LTR instructions in 64-bit mode
- Fixed error code for not 64-bit CS in interrupt from long mode
2008-05-04 21:25:16 +00:00
Stanislav Shwartsman
46f93681e7 Fixed FBSTP instruction signed zero corner case, indent changes 2008-05-04 21:22:42 +00:00
Stanislav Shwartsman
f642b57a54 Lazy falgs optimizations by Darek Mihocka 2008-05-04 15:07:08 +00:00
Volker Ruppert
b2baef2c34 - removed support for old-style syntax userbutton shortcuts
- added "power" key to the list of valid userbutton shortcuts
2008-05-04 09:29:45 +00:00
Stanislav Shwartsman
06e3615239 Reduce trace cache memory footprint using naive memory pool trace allocation 2008-05-04 05:37:36 +00:00
Stanislav Shwartsman
8e3b0ea1af Fixed few typos in debugger command and print 2008-05-03 21:32:02 +00:00
Stanislav Shwartsman
a6b360c92f Removed duplicated ';' 2008-05-03 17:35:11 +00:00
Stanislav Shwartsman
50c9674d2e Small optimization in memory access functions 2008-05-03 17:33:30 +00:00
Stanislav Shwartsman
001ad1c736 Removed deprecated IPS derective comment 2008-05-03 09:57:52 +00:00
Stanislav Shwartsman
11b564b2f0 Speed up memory access by devices 2008-05-02 23:18:51 +00:00
Stanislav Shwartsman
ed4be45a8b Split shift/rotate opcodes in 32-bit mode and 64-bit mode 2008-05-02 22:47:07 +00:00
Stanislav Shwartsman
f5135b4860 Precompiled Bochs BIOS binaries 2008-05-02 19:45:41 +00:00
Stanislav Shwartsman
5514952b4c Update CHANGES 2008-05-02 18:41:26 +00:00
Stanislav Shwartsman
da7684bc06 bios patch: kvm: bios: don't advertise ACPI C2 or C3 support 2008-05-02 18:37:47 +00:00
Stanislav Shwartsman
a67d149dd6 Merged patches from @SF tracker for BIOS 2008-05-02 08:41:46 +00:00
Stanislav Shwartsman
6ed8e80d8d Print about SSE extensions support 2008-05-01 23:08:36 +00:00
Stanislav Shwartsman
0d976801be More Bit32u -> bx_phy_address changes
Hopefully sometimes I will be able to enable 64 bit physical address as well
2008-05-01 20:46:58 +00:00
Stanislav Shwartsman
6225aa64f5 Move monitor check earlier - it should handle SMM as well 2008-05-01 20:46:00 +00:00
Stanislav Shwartsman
73d8bd3af4 Hide more memory variables 2008-05-01 20:28:36 +00:00
Stanislav Shwartsman
f5780a5f5c Hide some BX_MEM_C variables
Optimize resolve16 methods - by reducing their amount again - reduce chance for misspredictin
2008-05-01 20:08:37 +00:00
Stanislav Shwartsman
abe5309ab9 Clean 'info registres' command - use only direct aliases.
instead of 'info fpu' - just use 'fpu'
and etc
2008-05-01 19:10:07 +00:00
Stanislav Shwartsman
8e8fa363f1 Check for seg cache valid bit in real mode as well - fix for big real mode 2008-05-01 05:11:19 +00:00
Stanislav Shwartsman
81deffd65d More fetchdecode fixes 2008-04-30 21:32:33 +00:00
Stanislav Shwartsman
e5b6f90b62 some fetchdecode fixes 2008-04-30 21:07:12 +00:00
Stanislav Shwartsman
423aa44ab1 PUSHA/POPA fixes 2008-04-30 20:41:40 +00:00
Stanislav Shwartsman
7fe502bae8 Better format for FPU state dump 2008-04-30 20:41:15 +00:00
Stanislav Shwartsman
c063563bb8 Fixed compilation error 2008-04-30 16:31:07 +00:00
Stanislav Shwartsman
297087fea9 fixed memory handler params - use bx_phy_address data type 2008-04-29 22:14:23 +00:00
Stanislav Shwartsman
affbdbefb4 do not cause tranition to MMX state if no MMX reg touched 2008-04-29 21:47:16 +00:00
Stanislav Shwartsman
18b4dec094 Fixed compilation error 2008-04-29 05:12:21 +00:00
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
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
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