Stanislav Shwartsman
967297b8a4
new version of softfloat-fpu branch
...
currectly stable
2004-03-12 20:08:50 +00:00
Stanislav Shwartsman
dfef46e311
removed unused variables
2004-03-10 20:39:47 +00:00
Stanislav Shwartsman
58a7652aea
fixed problems in BCD instructions
2004-03-10 20:14:56 +00:00
Stanislav Shwartsman
8484a03394
Fixed BCD instructions to be suitable with Intel docs
2004-03-09 20:45:17 +00:00
Stanislav Shwartsman
f50f664b10
* fixed convert float2int SSE instructions (bugfix in softfloat lib)
...
* set default .bochssrc IPS to 10M
2004-03-08 05:29:14 +00:00
Stanislav Shwartsman
97135a723f
floatx80 bugfixes
2004-03-05 11:39:10 +00:00
Stanislav Shwartsman
f5316dad70
fixed bug in HADDPD/HSUBPD instructions
2004-03-05 09:19:58 +00:00
Stanislav Shwartsman
652d4ca24f
wouldn't elliminate aligment for now
2004-03-03 21:15:19 +00:00
Stanislav Shwartsman
1706beda30
fixed bug in floatx80_class function
...
mmx code optimizations
2004-03-03 21:09:08 +00:00
Stanislav Shwartsman
f552a1c861
Apply patches:
...
907163 ctrl_xfer8 clean/speed up 2004-02-29 14:32 nobody psychosmurf
907161 clean/speed up of io.cc 2004-02-29 14:31 nobody psychosmurf
2004-03-02 20:48:48 +00:00
Stanislav Shwartsman
6b565750b7
port changes in softfloat to main trunk
2004-02-28 09:46:46 +00:00
Stanislav Shwartsman
3f7c794b26
commit patch
...
899972 data xfer performance patch V 2.0.4 2004-02-18 15:38 nobody psychosmur
2004-02-26 19:17:40 +00:00
Stanislav Shwartsman
c2959f7685
added floatx80_compares for future use with FPU code
...
fixed floatx80 prototypes
2004-02-25 19:18:56 +00:00
Stanislav Shwartsman
9d7d634ebc
add these files to main trunk later
2004-02-21 14:48:42 +00:00
Stanislav Shwartsman
adbdde37e9
merge with latest CVS
2004-02-21 14:40:39 +00:00
Stanislav Shwartsman
320ae34cb9
Fix compile error
2004-02-18 05:22:07 +00:00
Stanislav Shwartsman
c3066a44bb
added functions to softfloat for future fpu implementation
2004-02-17 21:59:24 +00:00
Christophe Bothamy
e17995f5db
- host asms in a specific file
...
- add msvcc host asm instructions, patch by suzu
2004-02-15 17:57:45 +00:00
Stanislav Shwartsman
cc7b85ae7e
just update release dates
2004-02-13 21:27:45 +00:00
Stanislav Shwartsman
196aee98d7
Fix for FWAIT instruction
2004-02-12 21:34:28 +00:00
Christophe Bothamy
45bd1edfbf
- apply patch #894595 MSR_APICBASE always returns APIC ADDRESS 0
...
by Kangmo Kim
2004-02-12 00:56:21 +00:00
Christophe Bothamy
82429b5ac5
- fixes for booting OS/2 by Dmitri Froloff
...
- v8086 priveleged instruction processing bug (was also reported by
LightCone Aug 7 2003)
- exception process bug (was reported by Diego Henriquez Sat Nov 15
01:16:51 CET 2003)
- segment validation with IRET instruction
- CS segment not present exception processing with IRET
2004-02-11 23:47:55 +00:00
Stanislav Shwartsman
75bbf3bc5f
remove duplicated include
2004-02-11 20:04:34 +00:00
Daniel Gimpelevich
5366cc369e
Added Brian Huffman's Sound for OSX code with a couple of tweaks.
2004-02-09 22:23:53 +00:00
Daniel Gimpelevich
126971af49
Made to compile on MacOS9
2004-02-06 22:28:00 +00:00
Stanislav Shwartsman
c84deba786
* FNOP instruction checks for pending FPU exceptions
...
* prepared softfloatx80 code for future use with FPU
2004-02-06 12:45:43 +00:00
Christophe Bothamy
4a22763b3a
- fix sign comparison whenchecking io address in the tss io bitmap
2004-02-03 02:03:24 +00:00
Stanislav Shwartsman
dd38f0b021
fixed performance bug
...
aligment field changed from 32bit (unsigned) to 8bit (unsigned char) as it should be
2004-02-01 20:19:52 +00:00
Stanislav Shwartsman
ecdbf40aac
fixed compilation error for case when 3dnow! enabled and sse not
2004-01-31 17:13:05 +00:00
Stanislav Shwartsman
77cb1436fb
fix bug
2004-01-31 15:11:41 +00:00
Stanislav Shwartsman
9120961241
update checking for pending FPU exceptions code
2004-01-31 13:43:26 +00:00
Michael Brown
d1922bc835
Changed #ifdef MAGIC_BREAKPOINT to #if BX_MAGIC_BREAKPOINT and added a
...
configure script option --enable-magic-breakpoints (enabled by default).
Documented the instruction required to trigger the magic breakpoint
(xchgw %bx,%bx).
2004-01-29 17:49:03 +00:00
Christophe Bothamy
be57f55969
- fix FWAIT instruction acording to intel specs
...
NM exception is raised only when cr0.mp and cr0.ts are set
2004-01-18 16:42:05 +00:00
Daniel Gimpelevich
ae66bb33c0
Applied Russ Cox's CPU panic debug patch from Oct 2003.
2004-01-17 08:36:29 +00:00
Stanislav Shwartsman
49c6fd55e4
Remove redundant ifdefs
2004-01-10 19:45:53 +00:00
Stanislav Shwartsman
f3730cd784
Implemented two last SSE instructions RSQRTSS and RSQRTPS
...
MSDEV workspaces updated with new file
CPUID will detect and CPU will execute FXSAVE/FXRSTOR instructions when cpu-level-hacked=6 and not only when cpu-level=6
2003-12-31 17:35:43 +00:00
Stanislav Shwartsman
2dae51fc3f
Fixed compilation error
2003-12-30 23:14:47 +00:00
Stanislav Shwartsman
52d75d7aed
Fast table-based implementation of reciprocal (RCPSS/RCPPS)
...
This implemntation is much more clear than old one.
RSQRTSS/RSQRTPS coming soon.
2003-12-30 23:06:59 +00:00
Christophe Bothamy
e7e0b40bd1
- remove calculation on cr3 in dtranslate_linear, one of the most called functions (patch by Conn Clark)
2003-12-30 22:12:45 +00:00
Christophe Bothamy
e3bec02532
- fix bug preventing x86-64 detection
2003-12-30 14:14:28 +00:00
Stanislav Shwartsman
6fe8e9260b
remove redundant CPU LEVEL checks for x86-64
2003-12-29 21:47:36 +00:00
Daniel Gimpelevich
fb80d47dbf
*** empty log message ***
2003-12-29 21:24:35 +00:00
Stanislav Shwartsman
be9c0aeeec
Enable FXSAVE/FXRESTOR instructions for BX_HACKED_CPU_LEVEL=6 also
2003-12-29 21:23:46 +00:00
Stanislav Shwartsman
b770d809d3
Clearify disagnostic messages.
...
Remove redundant cpu level checks for x86-64
2003-12-29 21:20:58 +00:00
Stanislav Shwartsman
7deb9491da
Fixed compilation error for FPU disabled case
2003-12-29 20:26:05 +00:00
Daniel Gimpelevich
68fd1dc95b
cleanup optimizations & fix compile error
2003-12-29 07:28:28 +00:00
Stanislav Shwartsman
fd60a984a0
Instructions that should not check pending FPU exceptions
2003-12-28 18:58:15 +00:00
Stanislav Shwartsman
0eb71999db
Added missed 287 opcodes which should be executed as NOP in 387+
2003-12-28 18:19:41 +00:00
Stanislav Shwartsman
9ccb363ec3
bochs style decode/execute of FPU instructions.
...
With this coding style each instruction could be implemented separatelly even not together with current Bochs FPU emulator.
Step-by-step I am going to transfer all FPU instructions from current Bochs FPU emulator to new style and remove an old bugged emulator.
Anyway, now I could implement all currently missed FPU instructions without hacking wm-fpu-emu.
2003-12-27 13:50:06 +00:00
Stanislav Shwartsman
ab6b9c7dcb
New table-based disassembler:
...
* Fully supports
* MMX/XMM/3DNOW instruction sets
* FPU instruction
* SSE3 extensions
currently only 16/32 bit mode bug anyway, it is much better that old one ;)
2003-12-24 20:32:59 +00:00
Daniel Gimpelevich
fff74a6f83
Fixed incompatibility with gcc3.3, I think.
2003-11-28 15:07:29 +00:00
Zwane Mwaikambo
b152c966fc
remove 'const' from bx_local_apic_c::get_type declaration, fix for wrong
...
class member being called in bx_generic_apic_c::deliver
2003-11-23 02:44:15 +00:00
Zwane Mwaikambo
8ca600665e
Fix 3DNow compilation
2003-11-22 22:39:55 +00:00
Stanislav Shwartsman
b17671f5ef
Fixed compilation error
2003-11-19 20:57:13 +00:00
Stanislav Shwartsman
a6c1bdbbb2
Optimization of RCPSS/RCPPS functions
2003-11-19 20:27:58 +00:00
Stanislav Shwartsman
cdb68ff8c8
Reverting back the changes in data_xfer16.cc
...
Add/Fix bx_info messages in proc_ctrl.cc
2003-11-13 21:57:13 +00:00
Stanislav Shwartsman
d51aece0c1
Change BX_PANIC messages to BX_INFO when behaviour is accepted with Intel/AMD docs.
...
Instructions MOV_CxRx and MOV_RxCx are not supported in v8086 mode according to Intel manuals.
Also these instructions are treated as register-to-register regardless to MODRM byte fields (according to AMD manuals)
Also commit fix for MOV_EwSw by Kevin
2003-11-13 21:17:31 +00:00
Stanislav Shwartsman
ac50ab3760
Implemented RCPSS/RCPPS SSE instructions
2003-11-07 20:53:27 +00:00
Stanislav Shwartsman
2f20c087c3
Remove code duplication from FXRSTOR functioN
2003-10-25 10:32:54 +00:00
Stanislav Shwartsman
4e74efdf0c
Fast fxsave/fxrstor
2003-10-24 20:44:43 +00:00
Stanislav Shwartsman
ac739aa8b7
Fixed possible compilation problem
2003-10-24 20:06:12 +00:00
Stanislav Shwartsman
ac20b6405a
- FXSAVE/FXRSTOR instructions should be available in P6 mode
...
- Added second UD2 opcode to fetchdecode
- Added RDPMC instruction to fetchdecode
- 'changes' updated
2003-10-24 18:34:16 +00:00
Stanislav Shwartsman
d5210af668
Two new bx_instrumentation callbacks
2003-10-09 19:05:13 +00:00
Stanislav Shwartsman
e57662214a
Change BX_PANIC to BX_INFO when behaviour exactly matches Intel docs
2003-10-06 10:01:12 +00:00
Stanislav Shwartsman
9690ed763b
// is not allowed in pure-C
2003-10-05 12:14:02 +00:00
Stanislav Shwartsman
149f8aef82
dos2unix fix
2003-10-05 10:05:05 +00:00
Stanislav Shwartsman
8bf447d0cd
Implement a few 3DNOW instructions
2003-10-05 09:51:26 +00:00
Stanislav Shwartsman
3084a41abf
Changes BX_PANIC to BX_INFO if Bochs behavour is exactly matches Intel docs
2003-10-04 20:48:13 +00:00
Stanislav Shwartsman
1e996cc329
According to Intel documentation instructions ARPL,LAR,LSL,SLDT/LLDT,
...
STR/LTR,VERR/VERW are not recognized in v8086 or real mode and should
generate #UD exception
2003-10-04 20:22:24 +00:00
Stanislav Shwartsman
03b41ad14f
Small i387 structure size optimization
2003-10-04 11:04:10 +00:00
Stanislav Shwartsman
b50fb9e76e
code simplification before FPU development
...
print if Bochs supports 3DNOW to log file
2003-09-27 20:58:46 +00:00
Stanislav Shwartsman
56beb4110c
Little code optimization
2003-09-26 19:20:17 +00:00
Stanislav Shwartsman
15e84d0f5d
dos2unix fixes
2003-09-26 16:07:38 +00:00
Stanislav Shwartsman
789db2603e
Added P4 support to CPUID instruction
...
Extracted CPUIS instructions to separate file
2003-09-26 15:32:41 +00:00
Stanislav Shwartsman
bf2e0a109d
Fixed compilation error (occures when fpu disabled)
2003-09-01 19:05:10 +00:00
Stanislav Shwartsman
7f570b0150
Added PNI new streaming extensions instructions
...
PNI could be enabled by setting BX_SUPPORT_PNI in config.h
After the feature will be fully validation I'll also add configure option.
The implemntation is ~complete. I've missed only three FPU new opcodes of FUSTTP instruction and MONITOR/WAIT instructions.
Enjoy ! ;)
2003-08-29 21:20:52 +00:00
Stanislav Shwartsman
254ad17328
Changes method of resolving opcode/attributes from group table
...
New method more flexible and easy to understanding.
Reorganizing fetchdecode code and make it more easy and understandable
2003-08-28 19:25:23 +00:00
Christophe Bothamy
cf70d952bc
- reset also on other triple fault
2003-08-28 00:10:40 +00:00
Christophe Bothamy
9f31872f4b
- implement reset on triple fault
...
- old behavior (panic) can be used by setting BX_RESET_ON_TRIPLE_FAULT to 0 in config.h
2003-08-24 23:39:33 +00:00
Christophe Bothamy
6977467ed7
- fix flaw in IO bitmap permission handling (anonymous patch)
...
From the author (see bug #663320 ) :
In the code there is a check to verify that an IO bitmap
is defined (io_base > BX_CPU_THIS_PTR
tr.cache.u.tss386.limit_scaled) but there is no check if
an accessed IO port's address actually falls within the
defined limit of the TSS segment. So if I define an IO
bitmap with 100 entries, port 101 may or may not be
allowed depending on whatever bytes follow the TSS in
memory
2003-08-24 23:14:52 +00:00
Christophe Bothamy
68f3624f66
- fix compile and segfault problems when configuring debugger and smp
2003-08-24 10:30:07 +00:00
Stanislav Shwartsman
79f46df971
separate APIC from CPU
2003-08-17 18:55:16 +00:00
Alexander Krisak
8559551001
iretd cpu instruction in real mode implemented, i hope this closes bugs 537047,
...
603410, 637822, 664544, 687619.
2003-08-17 18:15:04 +00:00
Stanislav Shwartsman
ecd8077b99
Fixed fetch qword function
2003-08-15 15:17:56 +00:00
Stanislav Shwartsman
60ca3ac674
;; is not so necessary ;)
2003-08-15 13:18:53 +00:00
Stanislav Shwartsman
f6711d51f2
Fixed very serious bug in x86-64 with wrong decoding of opcodes with two immediates
2003-08-15 13:17:16 +00:00
Stanislav Shwartsman
6aa0a62fe7
Optimizing fetchdecode
2003-08-15 13:08:24 +00:00
Stanislav Shwartsman
34e6a8ed15
update sanity checks
2003-08-07 19:22:37 +00:00
Alexander Krisak
45df735c30
Apply Vitaly's Vorobyov debugger patch
2003-08-04 16:03:09 +00:00
Stanislav Shwartsman
549eb70324
Committed CPU fixes from Vitaly Vorobyov:
...
[x] fixed bug in int01 (opcode 0xF1) emulation
[x] fixed bug in x86 debugger with dr0-dr3 registers
Committed disassembler bugfix from Dirk Thierbach:
[x] fixed bug in relative addresses in Jmp, Jcc, Call and so on
2003-08-03 16:44:53 +00:00
Stanislav Shwartsman
1616539667
additional FPU changes
2003-08-01 09:32:33 +00:00
Stanislav Shwartsman
96984cb6cb
Added missed fetchdecode table entry for SYSENTER/SYSEXIT
2003-06-20 08:58:12 +00:00
Stanislav Shwartsman
58efdfb31f
An illegal lock prefix was not checked for instructions without any attributes (i.e. without immediate, modrm or any other additional bytes except prefixes).
2003-06-12 17:01:37 +00:00
Stanislav Shwartsman
8ee1b70016
Fixed compilation/linking problem
2003-06-11 14:50:09 +00:00
Volker Ruppert
2ef0c43c7d
- description of ldtr fixed
2003-06-08 09:55:50 +00:00
Volker Ruppert
d1652093ac
- applied some parts of the patch from Andrew Zabolotny <zap@cobra.ru>
...
* changed all %ll format descriptions to FMT_LL macro so that
Microsoft Visual C works correctly (it uses %I64)
* missing type conversions added
* cdrom.cc: variable types for win32 fixed
* removed some unused variables in eth_win32.cc and harddrv.cc
* added missing includes in make_cmos_image.c and niclist.c
2003-06-07 19:16:55 +00:00
Stanislav Shwartsman
3c00944998
I hope this is the last one ...
2003-05-29 19:44:59 +00:00
Stanislav Shwartsman
56cc6469e3
Ops, missed one ...
2003-05-29 17:19:38 +00:00
Stanislav Shwartsman
f933d604d3
Fixed missed BxLockable for XCHG instruction
2003-05-29 17:15:08 +00:00
Stanislav Shwartsman
1024cb16ca
Fixed denormal problem in fload64_add operation
2003-05-27 20:30:19 +00:00