Stanislav Shwartsman
75bda1d5cd
implemented SVM emulation support for Bochs (incomplete yet)
...
I am merging the code in order to start making shortcuts between VMX emulation and SVM emulation.
Of course SVM emulation is incomplete, completely untested and not expected to work.
But someone could already take a look one the code and give some suggestions.
Also looking for anybody with existing SVM kernels - as simple as possible - for testing.
Status:
- exceptions intercept is not implemented yet
- IO intercept is not implemented yet
- MSR intercept is not implemented yet
- virtual interrupts are not implemented yet
- CPUID is not implemented yet
No advanced SVM featurez planned - I am implementing the very basic 'Pacifica' document from 2005 using QEMU code as reference.
2011-12-25 19:35:29 +00:00
Stanislav Shwartsman
83cf658361
simplify x87 polinoms evaluation code
2011-12-16 19:22:03 +00:00
Stanislav Shwartsman
f660d3dc68
implemented missed XOP instructions FRCZPS/PD/SS/SD + update CHANGES with fixed bugs
2011-11-24 11:34:26 +00:00
Stanislav Shwartsman
ad9bdbe550
fixed compilation failure
2011-10-21 08:06:55 +00:00
Stanislav Shwartsman
2580d8c46d
added FMA4 AMD instructions support, fixed mem access length for Intel scalar FMA instructions
2011-10-07 14:09:35 +00:00
Stanislav Shwartsman
fc2f8f2266
correctly handle unmasked undeflow in SSE
2011-10-04 06:40:19 +00:00
Stanislav Shwartsman
e282b5e88d
Move DAZ handling into softfloat library (for float16, float32 and float64 only) and cleanup SSE and AVX code
...
Fix decoding of opcodes with VEX.W=1 in 32-bit mode (AVX2, FMA)
2011-10-01 15:40:36 +00:00
Stanislav Shwartsman
88768b22a4
optimize FMA functions
2011-10-01 09:05:12 +00:00
Stanislav Shwartsman
ea94f4b141
fixup for flush-underflow-to-zero mode
2011-09-30 11:11:03 +00:00
Stanislav Shwartsman
e5d0540365
commit new added files
2011-09-29 22:38:38 +00:00
Stanislav Shwartsman
6751af5d8e
added AVX FMA extensions support. The implementation is based on QEMU patch by Peter Maydell (fixed)
2011-09-29 22:20:56 +00:00
Stanislav Shwartsman
2583f8549a
small code duplication fix
2011-09-19 20:47:59 +00:00
Stanislav Shwartsman
30b94b112b
regen Makefile.in dep
2011-08-18 05:44:54 +00:00
Stanislav Shwartsman
a03e0266fb
added yonah CPUID to cpudb. remove bxversion.h from dep files
2011-08-16 19:58:56 +00:00
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
307e5b7db5
added softfloat16.cc
2011-06-11 13:16:53 +00:00
Stanislav Shwartsman
8399dee24c
implemented AVX float16 convert instructions
2011-06-11 13:12:32 +00:00
Stanislav Shwartsman
d7f19bcfd4
optimize sse DAZ feature + optimization for AVX OFF
2011-06-11 12:22:54 +00:00
Stanislav Shwartsman
d18553cfa4
fixed fuz handling in floating point add/sub
2011-05-04 05:52:40 +00:00
Stanislav Shwartsman
e56db12304
cleanup code duplication from fpu
2011-04-20 17:29:17 +00:00
Volker Ruppert
c78026a9a2
- deleted executable properties from source files
2011-04-03 10:29:19 +00:00
Stanislav Shwartsman
16021a0ddb
rename model_specific.h to be cpuid.h
2011-03-19 17:35:18 +00:00
Stanislav Shwartsman
b39f1092ca
fixed FUZ handling in SSE code
2011-03-11 10:09:23 +00:00
Stanislav Shwartsman
00981cd7a6
Adding Id and Rev property to all files
2011-02-24 22:05:47 +00:00
Stanislav Shwartsman
2d3f3668c7
Fixed IRET 64-bit mode bug
...
Support for 32 float copare methods for AVX
ckeanups in fetchdecode
2011-02-13 06:10:11 +00:00
Volker Ruppert
44ece7cf26
- including vga.h in iodev.h no longer necessary and symbol NO_DEVICE_INCLUDES
...
is useless then
- updated makefile dependenies
2011-01-24 20:35:51 +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
a9b569978a
bugfix
2010-09-29 17:46:30 +00:00
Stanislav Shwartsman
4992c4b89f
one more Teylor element to fsin
2010-04-24 14:41:07 +00:00
Stanislav Shwartsman
637d055ccd
improved FSIN/FCOS/FSINCOS/FTAN precision
2010-04-24 08:01:54 +00:00
Stanislav Shwartsman
bfde54f9ca
FPREM/FPREM1 fix
2010-03-22 22:11:00 +00:00
Stanislav Shwartsman
e757d6d030
x87 fixes
2010-03-22 18:09:40 +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
4882aa035a
fix
2010-02-08 14:28:20 +00:00
Stanislav Shwartsman
9d934cb989
small updates
2010-02-06 20:52:27 +00:00
Stanislav Shwartsman
c403090327
! Implemented PCLMULQDQ AES instruction
2009-12-20 09:00:40 +00:00
Stanislav Shwartsman
bd60e0264c
change Copyright to Bochs Project
2009-12-04 16:53:12 +00:00
Stanislav Shwartsman
33168085ee
gcc4 warning fix
2009-11-29 21:00:07 +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
1885537853
bugfixes
2009-11-01 17:58:09 +00:00
Stanislav Shwartsman
67ba1aa545
fixed stack overflow
2009-11-01 17:37:14 +00:00
Stanislav Shwartsman
234770395d
Fixes for x87 restore by FXRSTOR/XRSTOR
2009-10-27 20:03:35 +00:00
Stanislav Shwartsman
452f9d0422
bugfix
2009-10-18 19:24:56 +00:00
Stanislav Shwartsman
7254ea36a1
copyright fixes + small optimization
2009-10-14 20:45:29 +00:00
Stanislav Shwartsman
94d045ebda
fixed comment
2009-10-08 20:09:33 +00:00