Stanislav Shwartsman
002c86660a
reword all the CPU code in preparation for future CPU speedup implementation.
...
Bochs emulation can be another 10-15% faster using technique described in paper
"Fast Microcode Interpretation with Transactional Commit/Abort"
http://amas-bt.cs.virginia.edu/2011proceedings/amasbt2011-p3.pdf
2011-07-06 20:01:18 +00:00
Stanislav Shwartsman
00981cd7a6
Adding Id and Rev property to all files
2011-02-24 22:05:47 +00:00
Stanislav Shwartsman
4a8d69caf6
bugfix for x86-64 mode
2010-11-23 15:42:26 +00:00
Stanislav Shwartsman
9e6bf42527
x87 fix in 64 bit mode
2010-11-11 15:48:56 +00:00
Stanislav Shwartsman
49c85b07f6
Fixed address size wrap
2010-10-18 22:19:45 +00:00
Stanislav Shwartsman
d6f2454414
fixed x87 bug
2010-10-17 16:24:33 +00:00
Stanislav Shwartsman
cffe32dd2c
remove unused param from exception() call
2010-03-14 15:51:27 +00:00
Stanislav Shwartsman
033a20b3b2
allow to configure CPU features at runtime - implemened on example of SSE/AES/MOVBE/POPCNT
2010-02-25 22:04:31 +00:00
Stanislav Shwartsman
d8fcb79295
- x87: Fixed partial state loaD in FLDENV/FRSTOR instruction
2009-11-17 20:57:15 +00:00
Stanislav Shwartsman
7f67817fb0
small cleanup in fpu.cc
2009-11-17 20:43:41 +00:00
Stanislav Shwartsman
234770395d
Fixes for x87 restore by FXRSTOR/XRSTOR
2009-10-27 20:03:35 +00:00
Stanislav Shwartsman
7254ea36a1
copyright fixes + small optimization
2009-10-14 20:45:29 +00:00
Stanislav Shwartsman
6f99862c7a
x87 fix
2009-08-22 15:53:06 +00:00
Stanislav Shwartsman
89f057ae7b
x87 fix
2009-04-27 14:00:55 +00:00
Stanislav Shwartsman
7278e563a8
typo fix
2009-04-12 19:13:13 +00:00
Stanislav Shwartsman
6ad8f485d3
improve FPU dump
2009-04-12 16:13:49 +00:00
Stanislav Shwartsman
08de514d9c
code cleanup for future optimization
2009-03-10 21:43:11 +00:00
Stanislav Shwartsman
77974ab952
- removed wrong character from FSF address (converted invisible and useless
...
2-byte character)
2009-02-08 17:29:34 +00:00
Stanislav Shwartsman
368eb61eed
Fixed gcc4 warning
2009-01-30 21:05:01 +00:00
Stanislav Shwartsman
9929e6ed78
- updated FSF address
2009-01-16 18:18:59 +00:00
Stanislav Shwartsman
8b44524af9
Fixed problem in one of my prev commits
2008-09-18 19:10:23 +00:00
Stanislav Shwartsman
d6562492a9
Fixed bug in 64-bit mode
2008-09-16 20:40:56 +00:00
Stanislav Shwartsman
d57a211df9
Fixed handling of prefixes for EMMS
...
Small FPU optimization
2008-09-12 20:59:31 +00:00
Stanislav Shwartsman
9e9bc9aeeb
Do not touch fdp/fds fields in x87 if not memory instruction
2008-08-23 10:48:38 +00:00
Stanislav Shwartsman
5dd02b26e3
Make even more efficient RmAddr calculation - good optimizing compiler could make more efficient code than it was before
2008-08-08 09:22:49 +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
f331919d63
indent + FPU debug print fixes
2008-05-19 20:00:42 +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
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
7fe502bae8
Better format for FPU state dump
2008-04-30 20:41:15 +00:00
Stanislav Shwartsman
66282a2078
Fixed FRSTOR instruction
2008-04-27 20:43:38 +00:00
Stanislav Shwartsman
4ecadb915b
Fixed FPU tags after FLDENV instruction
2008-04-26 20:24:20 +00:00
Stanislav Shwartsman
40bceb55fa
Fixed floating point opcode masking
2008-04-26 12:14:58 +00:00
Stanislav Shwartsman
3f5263a142
Compilation fixes that allow to disable FPU by just setting BX_SUPPORT_FPU=0
2008-04-04 21:05:37 +00:00
Stanislav Shwartsman
167c7075fb
Use fastcall gcc attribute for all cpu execution functions - this pure "compiler helper" optimization brings additional 2% speedup to Bochs code
2008-03-22 21:29:41 +00:00
Stanislav Shwartsman
eebd96e2d7
another whitespace cleanup by Sebastien
2008-02-05 22:33:35 +00:00
Stanislav Shwartsman
d9984bb3a1
Eliminate BxResolve call from the heart of cpu loop and move into instructions that really require this calculation. Yes, it blows the code of EVERY CPU method but it has >15% speedup !
2008-01-10 19:37:56 +00:00
Stanislav Shwartsman
917a040cc4
Fixed more VCPP2008 warnings
2007-12-26 18:39:15 +00:00
Stanislav Shwartsman
838fb2a048
Fixing V2008 warnings - they found a bug in sse_pfp.cc !
2007-12-23 17:21:28 +00:00
Stanislav Shwartsman
5d4e32b8da
Avoid pointer params for every read_virtual_* except 16-byte SSE and 10-byte x87 reads
2007-12-20 20:58:38 +00:00
Stanislav Shwartsman
b516589e4e
Changes in write_virtual_* and pop_* functions -> avoid moving parameteres by pointer
2007-12-20 18:29:42 +00:00
Stanislav Shwartsman
e51184c8cf
Eliminate saving of RSP from heart of cpu_loop
...
Now save RSP only where it is really required
2007-11-24 14:22:34 +00:00
Stanislav Shwartsman
754e43baed
FOO is 11 bit only field
2007-10-30 18:52:25 +00:00
Stanislav Shwartsman
d30a0d3699
warning fixes
2007-10-24 23:29:40 +00:00
Stanislav Shwartsman
9612691aad
Debug print changed to look a bit better
2007-09-11 13:11:03 +00:00
Stanislav Shwartsman
38d1f39c77
Converted CR0 bits to one register similar to CR4 - a bit slower but helps with other features implemntation
2007-07-09 15:16:14 +00:00
Stanislav Shwartsman
26f08fdb2c
Change my e-mail to #SF one
2007-03-23 21:27:13 +00:00
Stanislav Shwartsman
c7e732fc8c
Merged patch from #SF site tracker
2006-09-08 11:26:04 +00:00
Stanislav Shwartsman
7b6c2587a9
Now devices could be compiled separatelly from CPU
...
Averything that required cpu.h include now has it explicitly and there are a lot of files not dependant by CPU at all which will compile a lot faster now ...
2006-03-06 22:03:16 +00:00
Stanislav Shwartsman
765951b1a5
Fix problem in FLDENV/FSTENV instructions
2006-01-29 17:37:23 +00:00