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