Stanislav Shwartsman
55e1d53a48
implement DPPS/DPPD ops using existing primitives; added some missing defs
2014-02-02 18:57:25 +00:00
Stanislav Shwartsman
ca1b496efc
small optimization
2014-02-01 19:23:41 +00:00
Stanislav Shwartsman
ef130ca145
convert some defines to enum
2014-01-31 19:40:34 +00:00
Volker Ruppert
785b4bed1b
Restore code for SCSI requests implemented.
...
Handle the CD-ROM drive lock status at save/restore.
2014-01-31 18:49:10 +00:00
Stanislav Shwartsman
6eb1c7d255
fixed swapped sources of VEXTRACTF* with mask
2014-01-30 21:46:25 +00:00
Stanislav Shwartsman
ccb003b0e1
fixed swapped sources of VEXTRACTF*
2014-01-30 20:48:41 +00:00
Stanislav Shwartsman
41e13703a3
Implemented VEXTRACT* AVX-512 instructions
...
Now only missed AVX-512 opcodes now are:
512.66.0F38.W0 13 VCVTPH2PS
512.66.0F3A.W0 1D VCVTPS2PH
512.66.0F38.WIG 21 VPMOVSXBD
512.66.0F38.WIG 22 VPMOVSXBQ
512.66.0F38.WIG 23 VPMOVSXWD
512.66.0F38.WIG 24 VPMOVSXWQ
512.66.0F38.W0 25 VPMOVSXDQ
512.66.0F38.WIG 31 VPMOVSZBD
512.66.0F38.WIG 32 VPMOVSZBQ
512.66.0F38.WIG 33 VPMOVSZWD
512.66.0F38.WIG 34 VPMOVSZWQ
512.66.0F38.W0 35 VPMOVSzDQ
512.66.0F38.W0 2C VSCALEFPS
512.66.0F38.W1 2C VSCALEFPD
NDS.LIG.66.0F38.W0 2D VSCALESS
NDS.LIG.66.0F38.W1 2D VSCALESD
512.66.0F38.W0 4C VRCP14PS
512.66.0F38.W1 4C VRCP14PD
NDS.LIG.66.0F38.W0 4D VRCP14SS
NDS.LIG.66.0F38.W1 4D VRCP14SD
512.66.0F38.W0 4E VRSQRT14PS
512.66.0F38.W1 4E VRSQRT14PD
NDS.LIG.66.0F38.W0 4F VRSQRT14SS
NDS.LIG.66.0F38.W1 4F VRSQRT14SD
512.66.0F3A.W0 08 VRNDSCALEPS
512.66.0F3A.W1 09 VRNDSCALEPD
NDS.LIG.66.0F3A.W1 0A VRNDSCALESS
NDS.LIG.66.0F3A.W1 0B VRNDSCALESD
512.66.0F3A.W0 26 VGETMANTPS
512.66.0F3A.W1 26 VGETMANTPD
NDS.LIG.66.0F3A.W0 27 VGETMANTSS
NDS.LIG.66.0F3A.W1 27 VGETMANTSD
2014-01-30 20:31:08 +00:00
Volker Ruppert
f5944a0b7c
Another mouse detection fix: restart rx timer on detection request
2014-01-30 16:54:52 +00:00
Volker Ruppert
c217470150
Started implementing save/restore support for SCSI requests
...
- save function implemented using a dummy parameter that only receives the
result of the save operation. The parameter's save/restore handlers doing
the main job. The numerical values of the requests are saved in a separate
text file. The data transfer buffers are saved as binary files.
- the request data buffers are now created dynamicly
- TODO: restore SCSI requests
2014-01-28 20:29:12 +00:00
Stanislav Shwartsman
d990911cea
bugfix
2014-01-28 19:52:51 +00:00
Stanislav Shwartsman
63e99da4af
Implemented VALIGN* AVX-512 instructions
...
Now only missed AVX-512 opcodes now are:
512.66.0F38.W0 13 VCVTPH2PS
512.66.0F3A.W0 1D VCVTPS2PH
512.66.0F38.WIG 21 VPMOVSXBD
512.66.0F38.WIG 22 VPMOVSXBQ
512.66.0F38.WIG 23 VPMOVSXWD
512.66.0F38.WIG 24 VPMOVSXWQ
512.66.0F38.W0 25 VPMOVSXDQ
512.66.0F38.WIG 31 VPMOVSZBD
512.66.0F38.WIG 32 VPMOVSZBQ
512.66.0F38.WIG 33 VPMOVSZWD
512.66.0F38.WIG 34 VPMOVSZWQ
512.66.0F38.W0 35 VPMOVSzDQ
512.66.0F38.W0 2C VSCALEFPS
512.66.0F38.W1 2C VSCALEFPD
NDS.LIG.66.0F38.W0 2D VSCALESS
NDS.LIG.66.0F38.W1 2D VSCALESD
512.66.0F38.W0 4C VRCP14PS
512.66.0F38.W1 4C VRCP14PD
NDS.LIG.66.0F38.W0 4D VRCP14SS
NDS.LIG.66.0F38.W1 4D VRCP14SD
512.66.0F38.W0 4E VRSQRT14PS
512.66.0F38.W1 4E VRSQRT14PD
NDS.LIG.66.0F38.W0 4F VRSQRT14SS
NDS.LIG.66.0F38.W1 4F VRSQRT14SD
512.66.0F3A.W0 08 VRNDSCALEPS
512.66.0F3A.W1 09 VRNDSCALEPD
NDS.LIG.66.0F3A.W1 0A VRNDSCALESS
NDS.LIG.66.0F3A.W1 0B VRNDSCALESD
512.66.0F3A.W0 19 VEXTRACTF32x4
512.66.0F3A.W1 1B VEXTRACTF64x4
512.66.0F3A.W0 39 VEXTRACTI32x4
512.66.0F3A.W1 3B VEXTRACTI64x4
512.66.0F3A.W0 26 VGETMANTPS
512.66.0F3A.W1 26 VGETMANTPD
NDS.LIG.66.0F3A.W0 27 VGETMANTSS
NDS.LIG.66.0F3A.W1 27 VGETMANTSD
2014-01-28 19:36:46 +00:00
Stanislav Shwartsman
36ba25847f
Implemented last missed AVX-512 unsigned convert instructions
...
The only missed AVX-512 opcodes now are:
512.66.0F38.W0 13 VCVTPH2PS
512.66.0F3A.W0 1D VCVTPS2PH
512.66.0F38.WIG 21 VPMOVSXBD
512.66.0F38.WIG 22 VPMOVSXBQ
512.66.0F38.WIG 23 VPMOVSXWD
512.66.0F38.WIG 24 VPMOVSXWQ
512.66.0F38.W0 25 VPMOVSXDQ
512.66.0F38.WIG 31 VPMOVSZBD
512.66.0F38.WIG 32 VPMOVSZBQ
512.66.0F38.WIG 33 VPMOVSZWD
512.66.0F38.WIG 34 VPMOVSZWQ
512.66.0F38.W0 35 VPMOVSzDQ
512.66.0F38.W0 2C VSCALEFPS
512.66.0F38.W1 2C VSCALEFPD
NDS.LIG.66.0F38.W0 2D VSCALESS
NDS.LIG.66.0F38.W1 2D VSCALESD
512.66.0F38.W0 4C VRCP14PS
512.66.0F38.W1 4C VRCP14PD
NDS.LIG.66.0F38.W0 4D VRCP14SS
NDS.LIG.66.0F38.W1 4D VRCP14SD
512.66.0F38.W0 4E VRSQRT14PS
512.66.0F38.W1 4E VRSQRT14PD
NDS.LIG.66.0F38.W0 4F VRSQRT14SS
NDS.LIG.66.0F38.W1 4F VRSQRT14SD
NDS.512.66.0F3A.W0 03 VALIGND
NDS.512.66.0F3A.W1 03 VALIGNQ
512.66.0F3A.W0 08 VRNDSCALEPS
512.66.0F3A.W1 09 VRNDSCALEPD
NDS.LIG.66.0F3A.W1 0A VRNDSCALESS
NDS.LIG.66.0F3A.W1 0B VRNDSCALESD
512.66.0F3A.W0 19 VEXTRACTF32x4
512.66.0F3A.W1 1B VEXTRACTF64x4
512.66.0F3A.W0 39 VEXTRACTI32x4
512.66.0F3A.W1 3B VEXTRACTI64x4
512.66.0F3A.W0 26 VGETMANTPS
512.66.0F3A.W1 26 VGETMANTPD
NDS.LIG.66.0F3A.W0 27 VGETMANTSS
NDS.LIG.66.0F3A.W1 27 VGETMANTSD
2014-01-28 12:57:38 +00:00
Stanislav Shwartsman
15979a52b6
implemented avx-512 getexp instructions
2014-01-27 21:25:07 +00:00
Volker Ruppert
6a5e91bfbd
regenerated after wsock32 change
2014-01-26 22:12:23 +00:00
Volker Ruppert
67b5ed240b
Enabled linking with wsock32.dll for all Windows again. Cygwin doesn't complain
...
when we use -lwsock32, but don't include it's header if __CYGWIN__ is defined.
Moved DEVICE_LINK_OPTS to a separate variable instead of appending options to
GUI_LINK_OPTS.
2014-01-26 22:11:31 +00:00
Stanislav Shwartsman
3798ed66b5
new function for disasm. todo: support it independently of CPU
2014-01-26 20:01:50 +00:00
Stanislav Shwartsman
2379590dde
do not compile AVX objects if AVX support is not enabled in configure
2014-01-26 19:20:44 +00:00
Volker Ruppert
7475fbc4c9
Rewrite of the mouse data handling (similar to the bus / usb mouse code)
2014-01-26 13:48:10 +00:00
Volker Ruppert
e3574dabe0
Serial timer code rewritten (no functional changes)
...
Minor related cleanups
2014-01-25 21:05:49 +00:00
Volker Ruppert
b8d6862dfa
Fixed some MSVC warnings
2014-01-25 17:07:10 +00:00
Stanislav Shwartsman
4d4d194c16
implemented missed vpmul* avx-512 opcodes
2014-01-24 20:04:36 +00:00
Stanislav Shwartsman
8d6c6a4545
added one more missed perm* avx-512 opcode
2014-01-24 19:42:08 +00:00
Stanislav Shwartsman
7beb85b850
implemented vperm* avx-512 opcodes
2014-01-24 19:23:19 +00:00
Volker Ruppert
a5984f7cd0
Some work on the USB MSD emulation
...
- prepared seek timer feature
- removed error handling that would cause a segfault
- better error handling for CD-ROM read errors
2014-01-24 19:07:51 +00:00
Stanislav Shwartsman
fd8ddd8069
downgrade VMEXIT message to BX_DEBUG
2014-01-24 18:58:57 +00:00
Volker Ruppert
35c0724c50
Some work on the Bochs timer code
...
- add timer parameter to the save/restore tree
- change timer parameter type to Bit32u
- don't call timer function if set to NULL
- optimized loop that calls the timer functions
- minor cleanups
2014-01-24 17:22:34 +00:00
Stanislav Shwartsman
407681c98a
implemented some more avx-512 opcodes
2014-01-24 12:02:47 +00:00
Stanislav Shwartsman
fa60a654c8
bugfix for avx-512
2014-01-23 19:59:39 +00:00
Volker Ruppert
a8f72a7575
Added support for multiple sector transfers to the 'concat' image mode.
...
Renamed 'flat' image mode C++ class.
2014-01-23 18:35:18 +00:00
Stanislav Shwartsman
79c11cacbe
fixed compilation err without avx
2014-01-23 17:08:30 +00:00
Stanislav Shwartsman
33889cd02e
implemented avx-512 vpermq opcode
2014-01-22 21:21:32 +00:00
Stanislav Shwartsman
99f7107dd1
code reorg
2014-01-22 19:59:13 +00:00
Volker Ruppert
570a35a568
Fixed critical bug in the USB CD-ROM emulation: multiple block reads now working
2014-01-22 17:56:20 +00:00
Stanislav Shwartsman
a21f03e69b
implemented few more avx-512 cvt opcodes
2014-01-21 21:00:40 +00:00
Volker Ruppert
39890d308d
Connecting USB CD-ROM without media present now supported
...
TODO #1 : implement seek timing similar to ATA/ATAPI
TODO #2 : implement asynchronus i/o in lowlevel cdrom
2014-01-21 20:56:50 +00:00
Stanislav Shwartsman
d591c1dd34
implemented few more avx-512 cvt opcodes
2014-01-21 20:31:10 +00:00
Stanislav Shwartsman
9e90d9d9ae
bugfix in cvtpd2udq opcode decoding with kmask
2014-01-20 22:07:35 +00:00
Stanislav Shwartsman
2ed0e91dfe
fixed writing half vector for avx-512
2014-01-20 21:52:48 +00:00
Stanislav Shwartsman
4705ed6bdd
more fixes for uint conversions based on latest QEMU patches by Tom Musta
2014-01-20 21:22:29 +00:00
Stanislav Shwartsman
649075527e
fixes for convert to unsigned functions
2014-01-20 20:50:28 +00:00
Volker Ruppert
fd86a060d5
Updated devices tree
2014-01-20 18:01:27 +00:00
Stanislav Shwartsman
cc112767a2
bugfixes
2014-01-19 21:19:41 +00:00
Stanislav Shwartsman
ee8d500ec0
fix for float32/64_to_uint32 cvt functions in softfloat
2014-01-19 20:47:48 +00:00
Stanislav Shwartsman
086fefeb29
cleanups
2014-01-19 20:30:40 +00:00
Stanislav Shwartsman
a63280a6d1
implemented few more AVX-512 cvt opcodes
2014-01-19 20:23:14 +00:00
Volker Ruppert
7cb5729365
Seek delay implemented for ATA/ATAPI DMA read commands
...
TODO: seek delay for write commands
2014-01-19 18:13:12 +00:00
Volker Ruppert
cdf3facaf4
ATAPI CD-ROM emulation fixes
...
- BSY status bit must be set during seek
- report active MDMA mode in 'identify' command
- improved a debug message
2014-01-19 14:15:43 +00:00
Stanislav Shwartsman
ba52890538
implemented few more AVX-512 floating point convert instructions
2014-01-18 20:10:05 +00:00
Volker Ruppert
78509d637b
Implemented seek delay for hard disk and CD-ROM PIO read commands using fixed
...
values for the average access time (hd: 5 msec / cd: 80 msec). Hard disk write
and DMA mode commands are not affected yet.
2014-01-18 16:16:42 +00:00
Volker Ruppert
29d40bf9fe
Added an optional device-specific Bit8u parameter to the timer structure.
...
A device can set it with setTimerParam() and read it in the timer handled using
triggeredTimerParam(). Simplified some timer handler by using these methods.
TODO: implement HD / CD seek timer
2014-01-17 18:25:13 +00:00