Commit Graph

68 Commits

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