Volker Ruppert
8914ff6e37
Renamed "ltdl.h" to "ltdl-bochs.h" to avoid conflicts with the include file
...
that is a part of the libtool package. Updated Makefile dependencies.
TODO: check if we can get rid of the ltdl*.* files (this would be possible if
the ltdl library is always available if libtool is present).
2013-12-17 19:58:43 +00:00
Volker Ruppert
58019a1649
Renamed "ltdl.h" to "ltdl-bochs.h" to avoid conflicts with the include file
...
that is a part of the libtool package. Updated Makefile dependencies.
TODO: check if we can get rid of the ltdl*.* files (this would be possible if
the ltdl library is always available if libtool is present).
2013-12-17 19:57:40 +00:00
Stanislav Shwartsman
fc2cc377f8
fixes for AVX-512
2013-12-17 19:16:08 +00:00
Stanislav Shwartsman
5b2779ee03
mention SIMD .bochsrc option in CHANGES
2013-12-17 17:21:52 +00:00
Volker Ruppert
517e6d4aef
Removed items that we have completely done and updated others
2013-12-17 17:19:53 +00:00
Stanislav Shwartsman
9b5cd124fb
update CHANGES to 16th Dec, 2013
2013-12-17 17:15:45 +00:00
Stanislav Shwartsman
734d1c7af8
implemented VFIXUPIMM AVX-512 opcodes
2013-12-17 16:44:46 +00:00
Volker Ruppert
dc455982f0
Added list of changes after release Bochs 2.6.2 (no release plans yet)
2013-12-16 23:03:48 +00:00
Volker Ruppert
5229b72d32
SVN repository cleanup: removed non-release tags and merged branches up to Bochs 1.3
...
Some SVN-related documentation fixes and updates
2013-12-16 17:53:02 +00:00
Stanislav Shwartsman
cdbc8a3f6f
remove accidentally committed code
2013-12-15 20:50:02 +00:00
Stanislav Shwartsman
18f6a67d9d
bugfix
2013-12-15 20:33:24 +00:00
Stanislav Shwartsman
51d0161148
implement few AVX-512 unsigned convert instructions
2013-12-15 20:07:57 +00:00
Stanislav Shwartsman
d3107f9f25
remove statement with no effect
2013-12-15 19:58:15 +00:00
Stanislav Shwartsman
7f98bbaea0
fix for float32_to_uint32_round_to_zero
2013-12-15 19:45:23 +00:00
Stanislav Shwartsman
8707e0626d
starting to implement some AVX512 convert opcodes
2013-12-15 19:20:03 +00:00
Volker Ruppert
acd0fe11b5
Added volume control support per channel for stereo samples
...
TODO: do the same for mono samples (requires data doubling in emulation)
2013-12-15 17:09:18 +00:00
Volker Ruppert
15ab8d32c2
SVN repository cleanup: removed all non-release tags before Bochs 1.1.2.
...
User doc: fixed initial release tag.
2013-12-15 14:11:17 +00:00
Volker Ruppert
2b5d6bc2a3
Updated release tag table and added corresponding SVN revision
2013-12-15 09:52:01 +00:00
Volker Ruppert
ea7997210d
Some work on the wave volume control support
...
- ES1370: implemented CODEC registers (AK4531 mixer) and wave volume control
- Moved wave volume application code to new method pcm_apply_volume() and use
it for both soundcards
- TODO: stereo support
2013-12-14 17:43:12 +00:00
Stanislav Shwartsman
a9b4513b8a
insert/extractps do not support EVEX.b
2013-12-14 12:48:26 +00:00
Stanislav Shwartsman
cbcf30e911
implement EVEX SAE (suppress all exceptions) contol, implement AVX512 INSTERT/EXTRACTPS opcodes
2013-12-14 12:45:06 +00:00
Volker Ruppert
fe3196e260
Added basic volume control support for wave output
...
TODO #1 : add stereo support (volume control per channel)
TODO #2 : add volume control for the ES1370
2013-12-13 15:58:27 +00:00
Stanislav Shwartsman
15756a31cd
implemented EVEX MOVD/MOVQ opcodes, fixes in softfloat
2013-12-13 12:05:47 +00:00
Stanislav Shwartsman
374b8f615a
softloat: implemented some more unsigned integer vs float conversions
2013-12-12 21:00:59 +00:00
Stanislav Shwartsman
9c179bade8
fixed evex.b validation condition
2013-12-10 21:48:17 +00:00
Stanislav Shwartsman
258a60f3fa
Implemented AVX512 EXPAND/COMPRESS instructions
...
Fixed memory access size for AVX shift instructions with shift count in memory
Do not allow to encode with EVEX.b instructions which do not support implicit broadcast
softfloat: prepare float32/64 to uint32 conversion functions
2013-12-10 21:09:46 +00:00
Stanislav Shwartsman
69c798bf29
fixed compilation warnings from gcc 4.8.1
2013-12-10 21:08:14 +00:00
Volker Ruppert
ba748560d6
Added basic scroll window support for wx ParamDialog
2013-12-10 19:34:56 +00:00
Stanislav Shwartsman
9a4d947a28
implemented avx-512 cvt*2si instructions
2013-12-09 20:52:39 +00:00
Stanislav Shwartsman
ccb1d86d6e
code cleanups
2013-12-09 20:36:24 +00:00
Volker Ruppert
f534e8f6f6
win32ParamDialog: added separate functions for handling child windows and buttons
...
floppy dialog: update controls after setting path with the browse button
2013-12-09 20:23:23 +00:00
Stanislav Shwartsman
d20c81417c
Implemented VSHUFF32x4/64x2, VSHUFI32x4/64x2 AVX512 instructions
...
Implemented AVX512 blend instructions
Do not allow setting of EVEX.b in reg form when no floating point exceptions could be generated by instruction
2013-12-09 19:09:37 +00:00
Stanislav Shwartsman
4c78ca8c1c
implemented mask load for most of the load+op instructions. all take care for instructions which do not support maksing of memory exceptions (shuffle and permutes)
2013-12-08 21:54:59 +00:00
Volker Ruppert
eebeb7a06a
Replaced floppy dialog by a new implementation based on win32ParamDialog
...
- DONE: create image feature
- DONE: OK button forces a media change
- TODO: set status and media type after browse button
win32ParamDialog changes:
- changed base IDs for dialog child items
- set enum and bool parameters only if modified
- several changes for the floppy dialog
2013-12-08 21:22:50 +00:00
Stanislav Shwartsman
8836d1aa2d
added mask destination to disasm
2013-12-08 17:01:30 +00:00
Volker Ruppert
f008f0989f
Simplified floppy parameter handling
...
wx floppy dialog now forces a media change by clicking OK (same as win32dialog)
wxdialog.cc: one more whitespace cleanup
wxdialog.h: removed unused members
2013-12-08 11:32:13 +00:00
Volker Ruppert
a3de279d3a
Floppy runtime config dialog parameter handling rewritten
...
TODO: use modified version of win32ParamDialog for floppy config (similar to wx)
2013-12-07 22:58:41 +00:00
Stanislav Shwartsman
0621f2a983
extend movddup/sldup/shdup to 512-bit vlen
2013-12-07 20:58:32 +00:00
Stanislav Shwartsman
d681bd868f
fixed typo bug in xmm accessor definition
2013-12-07 20:48:41 +00:00
Stanislav Shwartsman
1e474ede51
fixed corrupted fetchdecode from svn rev12001
2013-12-07 20:30:27 +00:00
Stanislav Shwartsman
7ed017a56d
implemented avx-512 gather/scatter
2013-12-07 20:15:56 +00:00
Stanislav Shwartsman
3154c3682e
fixed decoding of RDRAND instructions
2013-12-07 07:17:04 +00:00
Stanislav Shwartsman
8c3d0aed7a
added #UD condition for wrong EVEX.LL setting
2013-12-05 20:40:53 +00:00
Stanislav Shwartsman
085161ca49
more debugger fixes
2013-12-05 19:26:40 +00:00
Stanislav Shwartsman
ca2793ac76
Debugger: fixed param tree access to 64-bit variables (need to use get64() instead of get())
...
Debugger: if AVX-512 if not supported by current configuration do not print high256 of vector registers and zmm15..zmm31 in AVX command
Implement VBROADCASTF64x4, VBROADCASTF32x4, VBROADCASTFI64x4, VBROADCASTI32x4 AVX-512 instructions
Fetchdecode optimizations and bugfixes
2013-12-05 19:17:16 +00:00
Stanislav Shwartsman
cfc8a0ad38
get rid of BX_MEM_NO_VVV decoding form (by splitting just two opcode groups using Split11B)
2013-12-04 20:15:22 +00:00
Stanislav Shwartsman
401caf168d
Implemented VPERMILPS/PD AVX512 instructions
...
Implemented VPTERNLOGD/Q AVX512 instructions
Implemented VPBROADCASTD/Q, VPBROADCASTPS/PD AVX512 instructions
Implemented VTEST* AVX512 instructions
Bugfixes in EVEX decoding tables
2013-12-04 18:30:44 +00:00
Volker Ruppert
0c2cb0536a
regenerated after ssize_t change
2013-12-04 17:05:49 +00:00
Volker Ruppert
fb70da3e3e
Added check for type ssize_t
...
List the supported ethernet modules
2013-12-04 17:04:15 +00:00
Stanislav Shwartsman
a5153c348f
fixed bugs in vcmp* avx512 opcodes
2013-12-03 22:16:22 +00:00
Stanislav Shwartsman
ccdd21a76b
small diet to the avx-512 files - remove code duplication
2013-12-03 21:32:04 +00:00
Volker Ruppert
495dd21691
Added wxWidgets mouse wheel support
2013-12-03 20:08:30 +00:00
Stanislav Shwartsman
18922fa1a3
added sanity check assert
2013-12-03 17:41:13 +00:00
Stanislav Shwartsman
6d9b16e0f7
Implemented VCMPPS/PD/SS/SD AVX512 instructions
...
Implemented AVX512 shift/rotate instructions
2013-12-03 15:44:23 +00:00
Stanislav Shwartsman
ba505677d2
bugfix for avx-512 masked load with mask all-zero
2013-12-02 20:46:26 +00:00
Stanislav Shwartsman
a85a9081b7
use shorter opcode names in the debug prints (skip the BX_IA_ prefix)
2013-12-02 20:06:59 +00:00
Stanislav Shwartsman
a421c921d0
fixed typo in configure script
2013-12-02 19:57:49 +00:00
Stanislav Shwartsman
0683b00535
implemented more avx-512 opcodes
2013-12-02 19:16:48 +00:00
Stanislav Shwartsman
79456eb7e1
Implemented VPCMP* AVX512 instructions
...
Implemented VMOVNTPS/PD/DQ AVX512 instructions
Implemented VMOVNTDQA AVX512 instruction
Bugfixes for AVX-512
2013-12-02 18:05:18 +00:00
Stanislav Shwartsman
b78489628d
make use of new accessor
2013-12-01 22:21:55 +00:00
Stanislav Shwartsman
287523e19a
add dedicated 8bit low register accessor
2013-12-01 22:18:38 +00:00
Stanislav Shwartsman
4aa5199d0c
added missing decoding for avx-512 fma flavor
2013-12-01 21:50:19 +00:00
Stanislav Shwartsman
4f158aef5f
Fixed 8-bit opmask read
...
Added opmask printout for AVX dump in dbg_main.cc
2013-12-01 20:50:01 +00:00
Stanislav Shwartsman
c7b03eb00b
implement avx-512 vpabsd/q instructions
2013-12-01 20:10:39 +00:00
Stanislav Shwartsman
2b83146ae2
more avx-512 instructions implemented
2013-12-01 19:39:18 +00:00
Volker Ruppert
e141fbf848
Several parameter-related improvements in the serial and parallel code
...
- Open output file on demand (failure causes BX_ERROR)
- Simplified bochsrc options cleanup
- serial: improved parameter dependencies
2013-12-01 18:26:37 +00:00
Volker Ruppert
73b2402538
Fixed some runtime config issues
...
- es1370: fixed wave file parameter name
- wx cdrom dialog: use the first item of the cdrom runtime parameter list
- wx ParamDialog: always pause the simulation thread while setting parameters
- wx ParamDialog: call SIM->update_runtime_options() before continuing simulation
2013-12-01 16:02:31 +00:00
Stanislav Shwartsman
37d6403681
typo fix 2
2013-11-30 19:57:03 +00:00
Stanislav Shwartsman
32c91015a7
typo fix
2013-11-30 19:55:10 +00:00
Stanislav Shwartsman
fb2521a1fe
implemented avx-512 vsqrt instructions
2013-11-30 19:33:08 +00:00
Stanislav Shwartsman
7db6c647b0
fixed memory access decoding in presence of evex prefix
2013-11-30 18:51:27 +00:00
Stanislav Shwartsman
ac82b38736
fixed typos causing compilation err
2013-11-30 18:39:22 +00:00
Stanislav Shwartsman
d082c6a0f9
implemented avx-512 masked load instructions
2013-11-30 18:37:25 +00:00
Stanislav Shwartsman
f76c85dca9
fixed 512-bit VL encoding in EVEX
2013-11-29 21:05:29 +00:00
Stanislav Shwartsman
b820b7af57
fixed zmm reg name in disasm
2013-11-29 20:52:34 +00:00
Stanislav Shwartsman
c3b666d4ed
fixed zmm reg name in disasm
2013-11-29 20:49:20 +00:00
Stanislav Shwartsman
61deec2689
fixed zmm reg name in disasm
2013-11-29 20:48:31 +00:00
Stanislav Shwartsman
11f082af82
Implemented VMOVDQU32/VMOVDQA32/VMOVDQU64/VMOVDQA64 AVX512 instructions
...
Implemented VCOMISS/VCOMISD/VUCOMISS/VUCOMISD AVX512 instructions
Fix vector length values for AVX-512 (512-bit vector should have length 4)
support mis-alignment #GP exception for VMOVAPS/PD/DQA32/DQ64 AVX512 instructions
move AVX512 load/store and register move operations into dedicated file avx512_move.cc
2013-11-29 20:22:31 +00:00
Stanislav Shwartsman
031583dbd9
moved avx masked load/store operations to separate functions
2013-11-29 18:15:48 +00:00
Volker Ruppert
7f3552614d
Some wxWidgets fixes
...
- Fixed ParamDialog::isGeneratediD() (browse button of last item could fail)
- Disable menu items without runtime options
- Partial whitespace cleanup
2013-11-29 16:37:50 +00:00
Stanislav Shwartsman
21bb1363ac
avx512 move functions introduced
2013-11-29 11:10:34 +00:00
Stanislav Shwartsman
1a735e9fdf
bugfix for decoding segment prefix with EVEX
2013-11-28 21:28:50 +00:00
Stanislav Shwartsman
4680c22d0e
implemented avx-512 masked register moves
2013-11-28 20:58:31 +00:00
Volker Ruppert
3a22a7de61
Sound runtime options support completed
...
- SB16: log file name now also available as a runtime option
- SB16: changed order of the runtime options and minor other changes
- ES1370: changed the "wavemode" parameter type to bx_param_enum_c and set up
more accurate dependencies (similar to SB16)
- ES1370: wave mode and file name now available as a runtime option
2013-11-28 20:47:34 +00:00
Volker Ruppert
0be25b75fe
Fixed some runtime dialog issues
...
- Show disabled runtime parameters
- Don't do anything if a dependent parameter's control ID is not found
- process dependent lists only for a few control notification messages
- Added second try to find the control ID for a parameter (browse all lists)
2013-11-26 20:09:01 +00:00
Stanislav Shwartsman
b7f950aa5c
more coding for avx512
2013-11-26 19:22:31 +00:00
Volker Ruppert
84b088c0c0
Revert a change I did only for testing
2013-11-25 21:14:26 +00:00
Volker Ruppert
f3a6fbd235
Simplified setup of special runtime menus / dialogs
...
- If the runtime flag of a bx_list_c object is set, all it's items are set up
as runtime options.
- Set the runtime parameter for all top-level runtime-only lists. Setting up
each single parameter is no longer needed.
2013-11-25 21:07:39 +00:00
Stanislav Shwartsman
1beeb33b51
implemented avx-512 fma instructions (in seperate file), fixes in avx-512 decoding tables
2013-11-25 20:42:24 +00:00
Volker Ruppert
375b033117
wxWidgets keyboard / mouse fixes:
...
- Release mouse capture on simulation exit
- Don't handle keyboard / mouse events if the simulation is not running
2013-11-24 19:36:47 +00:00
Volker Ruppert
4edfc93ac2
- Added capability to change the wave output mode at runtime
...
- Always initialize the lowlevel sound driver (for wave input / recording)
- Wave input (recording) is now independent from the wave output mode
- Changed the "wavemode" parameter type to bx_param_enum_c and set up more
accurate dependencies
- Minor related changes
2013-11-24 14:04:34 +00:00
Volker Ruppert
eed48eb69e
- Added capability to change the midi output mode at runtime
...
- Some other related changes and cleanups
2013-11-22 18:28:21 +00:00
Volker Ruppert
4ea9e6d57e
- Added capability to change the midi output device at runtime.
...
- Moved SB16 runtime options to a separate submenu
2013-11-20 21:37:43 +00:00
Stanislav Shwartsman
eb9778220d
fixed decoding of 0f3a opcode map
2013-11-20 20:46:03 +00:00
Stanislav Shwartsman
8602804086
another fix for commands debugger parser
2013-11-20 18:40:10 +00:00
Stanislav Shwartsman
b553591bb4
fixed compilation error under AVX
2013-11-20 17:33:57 +00:00
Stanislav Shwartsman
acbf278346
allow device names with numbers in info device without quotes
2013-11-20 17:21:56 +00:00
Stanislav Shwartsman
ee40564a5f
remove unneeded vga keyword from lexer
2013-11-20 16:56:26 +00:00
Stanislav Shwartsman
7f8429c643
fix code duplication in fetchdecode modules
2013-11-20 16:00:24 +00:00
Stanislav Shwartsman
ab87549b6b
Updates to Bochs debugger:
...
AVX command split into two: YMM command and ZMM command for AVX-256 and AVX-512.
Later new command AVX will be added whch will print complete AVX state according to what is defined currently, including OPMASK registers
info device <name>
and
info device <name> <string>
could be also used now without having to include device name in quotes as "name".
old style "qouted" option also still working
added missing info cpu command to the help
2013-11-19 21:53:55 +00:00
Volker Ruppert
bfc9748600
- Added capability to change the midi and wave output files at runtime.
...
- Some related fixes and cleanups
2013-11-19 19:04:21 +00:00
Volker Ruppert
081f51d316
Regenerated after Makefile changes
2013-11-18 16:58:00 +00:00
Volker Ruppert
aa0554e5d9
- Build niclist.exe on Windows even if plugins are enabled
...
- Some fixes for the install_win32 target
- Documentation updates
2013-11-18 16:49:56 +00:00
Volker Ruppert
299cec4907
Calculate VGA text cursor blink counter based on default frequency 1.875 Hz.
2013-11-16 12:10:28 +00:00
Volker Ruppert
df1a3158ec
Added full support for the LTDL_LIBRARY_PATH with MSVC plugins. Using the
...
semicolon as item separator similar to ltdl. TODO: make the MSVC plugin
handling work with the other win32 ports.
Minor cleanups in the plugin code.
2013-11-16 11:24:51 +00:00
Volker Ruppert
fc6b64c1b5
Added minimal support for LTDL_LIBRARY_PATH with MSVC plugins. Only one path
...
is supported for now (TODO: add support for a path list similar to ltdl).
Fixed documentation for LTDL_LIBRARY_PATH (Windows path separator).
2013-11-15 19:14:31 +00:00
Volker Ruppert
c64dceadb4
Fixed MIDI output to file and some minor changes
2013-11-14 18:11:23 +00:00
Volker Ruppert
d75a04b48d
Fixed segfault when writing to MIDI file.
2013-11-12 21:45:49 +00:00
Volker Ruppert
dfae141275
Added capability to specify the ID of the MIDI device to use. If not specified,
...
the default MIDI mapper will be used.
2013-11-11 20:44:38 +00:00
Stanislav Shwartsman
bcd83998a9
fixed function prototype mismatch resulting in compile err
2013-11-11 18:14:10 +00:00
Stanislav Shwartsman
9b22ba7edf
softfloat: added float to uint64 conversion operations (based on QEMU patch by Tom Musta)
2013-11-10 19:08:12 +00:00
Stanislav Shwartsman
f66a49a570
fixed some msdev warnings
2013-11-10 17:36:13 +00:00
Volker Ruppert
2756931a40
regenerated after gcc 4.8 plugin fix
2013-11-10 17:26:25 +00:00
Volker Ruppert
d281d743e9
Fixed plugins compilation with gcc 4.8.1
2013-11-10 17:00:21 +00:00
Volker Ruppert
e228219474
regenerated after cdrom changes
2013-11-10 11:22:23 +00:00
Volker Ruppert
9554a2133e
Always enable the portable ISO image file support. The option --enable-cdrom now
...
only controls the presence of platform-specific code to access CDROM/DVD devices
2013-11-10 11:14:42 +00:00
Stanislav Shwartsman
3be7e5884b
added lock prefix used info into bx_Instriction_c and use it in disasm
2013-11-08 21:43:21 +00:00
Volker Ruppert
b9944b43b5
Some small fixes
...
- bochs.h: fixed gcc 4.8 warning
- config.h.in: fixed newline
- extplugin.h: fixed VS2008Ex plugins compilation
- gui.cc: fixed tooltip
2013-11-07 19:38:23 +00:00
Volker Ruppert
b1d4a96983
Rewrite of the lowlevel cdrom code
...
- class cdrom_base_c now provides portable ISO image access methods
- platform specific classes implement access to cdrom/dvd devices
2013-11-06 11:15:22 +00:00
Volker Ruppert
b452803be5
Preparing lowlevel cdrom rewrite
...
- use #if BX_SUPPORT_CDROM instead of #ifdef LOWLEVEL_CDROM
- devices with cdrom support now use the base class cdrom_base_c
- cdrom count variable moved to cdrom.cc
- cdrom_misc.cc: don't use ioctl's for ISO files
2013-11-05 18:06:39 +00:00
Volker Ruppert
9e43d90ce6
Added disk image info mode to determine the image format, geometry and size
2013-11-03 16:13:35 +00:00
Volker Ruppert
c2b1d9119d
Added VMDK version 4 disk image creation support (ported from Qemu).
...
The 'vmware4' mode now also supported as conversion target and for resize.
2013-11-03 07:41:29 +00:00
Volker Ruppert
e29957cca2
Removed 'delete' (-d) option and added new 'backup' (-b) option.
...
In convert/resize mode a backup can be created if the new file name
is not specified or the same as the source file name. In commit mode
both base image and redolog file are affected by the backup switch.
Added Linux specific file copy code using '/bin/cp'.
2013-11-02 15:58:59 +00:00
Volker Ruppert
f8ea396a2c
Several fixes for compiling Bochs successfully in Cygwin64
2013-11-01 18:19:52 +00:00
Volker Ruppert
5b9d937cc1
Make sure winsock.h is included in serial.cc and eth_win32.cc
...
Including winsock.h not needed in pc_system.cc
Don't specify architecture in gcc 4.7+ example
2013-11-01 16:26:59 +00:00
Volker Ruppert
57272ac32e
Added sanity checks to the vmware4 and vvfat mode to avoid data corruption.
...
Some compilers need special options to pack structures correctly.
Added example for gcc 4.7+ on Windows to shortcut script.
2013-11-01 11:34:51 +00:00
Volker Ruppert
635774e1da
Fixed fat_datetime() on Windows to take account of the daylight savings time.
...
Show expected modification date/time in case of a panic.
2013-10-29 20:52:38 +00:00
Volker Ruppert
30a79f7ab8
regenerated after bximage fixes
2013-10-28 20:44:09 +00:00
Volker Ruppert
08b66534aa
bximage fixes for compiling with VS2008Ex DLL plugins
2013-10-28 20:31:34 +00:00
Volker Ruppert
2c779f60da
bximage convert / resize: show source disk image mode
...
hdimage undoable / volatile: log base disk image mode
vmware4: fixed 'cylinders' calculation
2013-10-27 19:23:59 +00:00
Volker Ruppert
7f19435887
Fixed some gcc 4.8.1 warnings
2013-10-27 15:13:19 +00:00
Volker Ruppert
66b311a8a6
Some work on the new bximage utility
...
- added support to use 'concat' and 'dll' mode images as convert source.
A prefix ("concat:" or "dll:") must be added to the path since autodetection
doesn't work for these modes.
- create: fixed virtual disk size calculation based on C/H/S
- convert / resize (interactive mode): use original filename as the template for
the new one if not specified on the command line
2013-10-25 19:10:09 +00:00
Stanislav Shwartsman
4b03247287
fixed compilation error with vs2008
2013-10-25 05:36:10 +00:00
Volker Ruppert
b1d92bd976
Documentation updates for the new bximage utility
2013-10-24 17:35:22 +00:00
Stanislav Shwartsman
d9fc472ba7
Added VMEXIT instrumentation callback
...
Fixed possible RSP corruption in SMP mode - the speculative_rsp variable might be not reset properly
2013-10-23 21:18:19 +00:00
Volker Ruppert
1fb469e77f
Started user doc update for bximage
...
Added legacy bximage and manual page to installation
Fixed some warnings
2013-10-23 15:22:09 +00:00
Volker Ruppert
bce8268c6f
Added new redolog_t method commit() for the bximage commit mode, using the fast
...
algrithm of bxcommit.
2013-10-23 08:35:21 +00:00
Volker Ruppert
519b369f56
Removed obsolete ASPI cdrom access code for Win9x/ME
2013-10-22 19:46:46 +00:00
Volker Ruppert
70d91b179b
fixed bximage warnings in MSVC
...
check if size is specified for "quiet" resize
treat size values without suffix as megabytes
2013-10-22 19:26:42 +00:00
Stanislav Shwartsman
494d0ac821
Remove obsolete configure check (cygwin does not have this problem anymore)
...
Also Bochs doesn't use the math library functions!
2013-10-21 19:26:07 +00:00
Volker Ruppert
ce7f013ff2
bximage: manual page updates and minor code fixes
2013-10-21 18:26:00 +00:00
Volker Ruppert
13fde0c2d5
- updated VS2008 workspace files after adding new bximage utility
2013-10-20 21:25:01 +00:00
Stanislav Shwartsman
d52adaa0ee
improve debug print to the log file which is printed in case of triple fault - tell VMX host/guest info
2013-10-20 16:41:34 +00:00
Stanislav Shwartsman
6f9400d4e8
TDM gcc under cygwin called x85_64_unknown-cygwin - fix configure script to support it
2013-10-20 14:48:38 +00:00
Volker Ruppert
a70d507bd2
Rename legacy bximage utility to 'bximage_old' and the new one to 'bximage'
...
TODO #1 : update MSVC workspaces and documentation
TODO #2 : remove legacy utilities bximage_old and bxcommit after next release
2013-10-20 10:43:01 +00:00
Volker Ruppert
0236e5f591
bximage_new: improvements for non-interactive (quiet) mode
...
- all operations now also working with one file name parameter
- suppress BX_INFO output in quiet mode
2013-10-20 07:30:36 +00:00
Volker Ruppert
4802fac2de
bximage_new: Added VPC dynamic type image creation support (ported from Qemu).
...
The 'vpc' mode now also supported as conversion target and for resize.
2013-10-19 21:16:10 +00:00
Volker Ruppert
2f134b5a0c
bximage_new: fixes for the non-interactive mode
2013-10-19 10:20:37 +00:00
Volker Ruppert
b5a57e7818
Some work on the new bximage utility
...
- added support to resize images (currently supported: flat, growing and sparse)
- added image file name check and renaming if necessary
- set minimum hard disk size to 10 MB
- vmware4: make header structure available for usage in bximage
2013-10-18 19:36:50 +00:00
Stanislav Shwartsman
7790e994eb
do not touch inline definition under C++ - added issue #1 in SF bug 1342
2013-10-17 19:22:16 +00:00
Volker Ruppert
05412afa18
bximage_new fixes and improvements
...
- fixed include order for win32
- added support to specify disk size in gigabytes on the command line
2013-10-17 16:00:26 +00:00
Volker Ruppert
a72135b56b
bximage_new on win32: added missing include file
2013-10-16 19:33:30 +00:00
Volker Ruppert
f923e5e4cf
bximage_new on win32
...
- fixed link failure on MSVC
- added win32 specific code for flat image creation
2013-10-16 18:55:43 +00:00
Stanislav Shwartsman
39f2f172b5
fixed PAUSE/NOP decoding bug in prev commit
2013-10-16 05:46:57 +00:00
Stanislav Shwartsman
8bcc8cf073
split PREFETCH opcode to Group16 for better disasm of bxInstruction_c
2013-10-15 21:21:28 +00:00
Volker Ruppert
88a1d3f6e7
bximage_new: hard disk image creation implemented (flat, growing, sparse)
...
TODO #1 : port win32 specific creation code for flat images from bximage.c
TODO #2 : add support to create (and convert to) vmware and vpc format images
2013-10-15 18:00:39 +00:00
Stanislav Shwartsman
59af88ea50
fixed memory bug found by gcc 4.8.1 warning
2013-10-15 17:28:06 +00:00
Stanislav Shwartsman
940c2a1c8e
fixes for disasm
2013-10-15 17:19:18 +00:00
Volker Ruppert
579dfc40df
bximage_new: implemented floppy image creation
2013-10-14 20:40:41 +00:00
Stanislav Shwartsman
e1012f1165
add vmcs revision id interface to CPUID class
2013-10-14 18:35:56 +00:00
Volker Ruppert
f3e10ea276
regenerated after adding support for the new bximage utility
2013-10-14 15:58:19 +00:00
Volker Ruppert
3d91e86ac1
bximage_new: added MSVC nmake support, added to default build system (targets
...
'all' and 'clean'), minor code changes
TODO: floppy / hard disk image creation, add to VS2008 workspace
TODO: finally remove the legacy utilities bximage and bxcommit
2013-10-14 15:57:10 +00:00
Volker Ruppert
f622a042c4
Added initial version of a new bximage utility written in C++ for image
...
creation, conversion and rodolog commit. Image creation support is not
present yet and the executable has not been added to standard compile yet.
TODO #1 : add floppy and hard disk image creation support (from bximage.c)
TODO #2 : implement support for conversion to vmware and vpc formats
TODO #3 : add MSVC (nmake and workspace) support
2013-10-13 20:30:51 +00:00
Volker Ruppert
6025e38333
preparing hdimage code for the the compilation with a new bximage utility
...
written in C++ supporting image creation, conversion and redolog commit
2013-10-13 14:33:55 +00:00
Stanislav Shwartsman
9fb7384e6b
finish sse tables cleanup in disasm and fetchdecode
2013-10-11 20:09:51 +00:00
Volker Ruppert
282a0983f6
small fix and cleanup
2013-10-11 18:08:35 +00:00
Stanislav Shwartsman
05d2bb2b9a
fixed typo bug caused spurios #UD on SSE shift
2013-10-11 06:20:42 +00:00
Stanislav Shwartsman
5fc491e9b6
resolve aliases after actually decoding base instr
2013-10-11 05:58:30 +00:00
Stanislav Shwartsman
34025e469f
resolve aliases after actually decoding base instr
2013-10-11 05:54:18 +00:00
Stanislav Shwartsman
582bf84bae
apply same optimization to disasm as well
2013-10-10 21:00:26 +00:00
Stanislav Shwartsman
46e36b463b
size-optimization for SSE opcode tables
2013-10-10 20:21:15 +00:00
Stanislav Shwartsman
2ec138f96e
Apply patch from developers mailing list:
...
bx_debug: allow expressions instead of numerals, where relevant
by Samium Gromoff
fix code duplication in fma handlers
2013-10-09 20:04:05 +00:00
Stanislav Shwartsman
0b2e533a55
more avx512 instructions done
2013-10-09 19:45:36 +00:00
Stanislav Shwartsman
d6d1c707df
implemented set of integer avx512 instructions
2013-10-08 19:44:52 +00:00
Stanislav Shwartsman
70230049fa
opmask_ok support in fetchdecode32.cc
2013-10-08 18:40:10 +00:00
Stanislav Shwartsman
09254eb474
avx512 implementation fixes and next steps
2013-10-08 18:31:18 +00:00
Volker Ruppert
c4412e95b9
bxcommit: added capability to commit undoable redolog to a growing mode base image
...
bximage: minor cleanups
TODO: write a new bximage utility in C++ and use the hdimage classes to create
and convert all image modes and to commit redologs to all base image modes.
2013-10-08 17:53:14 +00:00
Stanislav Shwartsman
8446685ba2
fixed FPU and MMX disasm
2013-10-07 20:55:43 +00:00
Stanislav Shwartsman
5724013e7d
updates to AVX512 decoding and CPUID
2013-10-07 20:39:34 +00:00
Stanislav Shwartsman
37a3a76cbb
optimize old disasm code
2013-10-07 19:23:19 +00:00
Stanislav Shwartsman
d68a7ca953
add option to skip mem datasize printing in disasm
2013-10-07 19:12:12 +00:00
Stanislav Shwartsman
cb0eee9456
disasm fixes
2013-10-07 19:02:53 +00:00
Stanislav Shwartsman
059769e2a6
disasm bug fixes
2013-10-06 20:42:13 +00:00
Stanislav Shwartsman
f0b917ca15
disasm fixes
2013-10-06 19:27:40 +00:00
Stanislav Shwartsman
e55611df21
disasm fixes
2013-10-06 19:04:52 +00:00
Stanislav Shwartsman
add8eea761
disasm bug fixes
2013-10-06 18:37:56 +00:00
Stanislav Shwartsman
f1f35a236c
disasm: Id form in 32-bit should be sign-extended to 64-bit
2013-10-06 18:10:58 +00:00
Stanislav Shwartsman
a392612b03
fixed compilation err in cpu-level=3 config
2013-10-06 18:01:25 +00:00
Volker Ruppert
ebdd3b4d38
slirp / vnet TFTP support: implemented timeout mechanism
2013-10-06 15:32:40 +00:00
Stanislav Shwartsman
e1512ccaf8
fixed warning under new MSDEV compiler
2013-10-05 19:35:00 +00:00
Stanislav Shwartsman
fd370a4d41
fixes in disasm, added example of using bxInstruction_c disasm into dbg_main.cc (commented out for now)
2013-10-05 19:32:09 +00:00
Stanislav Shwartsman
b1d703e47c
fixed compilation with x86-64 off
2013-10-05 18:51:28 +00:00
Stanislav Shwartsman
67bce7af97
fixed memref disasm
2013-10-05 11:00:31 +00:00
Stanislav Shwartsman
d4bfbffdbb
disasm fixes
2013-10-05 08:34:09 +00:00
Stanislav Shwartsman
c9a1f259cb
fixed compilation error in new disasm module under SMP config
2013-10-04 18:14:54 +00:00
Stanislav Shwartsman
5842d09434
rename call_far and ret_far opcodes to converge between two disasm modules
2013-10-04 17:47:52 +00:00
Stanislav Shwartsman
ba1249ed15
disasm fixes
2013-10-04 17:26:56 +00:00
Stanislav Shwartsman
85b0402668
fixes for disasm
2013-10-02 19:23:34 +00:00
Stanislav Shwartsman
8c60799e72
fix for new disasm interface
2013-10-01 20:17:21 +00:00
Stanislav Shwartsman
5331e8d4d3
rename disasm variable
2013-10-01 20:12:28 +00:00
Stanislav Shwartsman
e592f81209
updates to internal disasm
2013-10-01 18:47:55 +00:00
Stanislav Shwartsman
147d788022
few fixes in new disasm module
2013-09-30 20:16:52 +00:00
Stanislav Shwartsman
fd383435f0
- Initial code for bx_Instruction_c disassembler which (together with Bochs decoder) will replace Bochs disasm module someday (very soon).
...
The code already knows to disasm most of the opcodes with their operands.
- Split according to OSIZE opcodes RDFSBASE/WRFSBASE / RDGSBASE/WRGSBASE both for disasm and performance
- Minimize amount of opcode forms in ia_opcodes.h again.
For example Udq means the same as Wdq but with no memory form.
2013-09-30 19:01:42 +00:00
Volker Ruppert
a4b1c2a654
slirp / vnet: increased TFTP buffer size (max. file size 64 MB with blksize=1024)
2013-09-29 09:08:24 +00:00
Volker Ruppert
afa9226312
fixed and updated documentation for bochsrc option 'romimage'
2013-09-28 09:26:54 +00:00
Volker Ruppert
a8f1834c38
slirp / vnet TFTP support:
...
Detect and reply all supported TFTP extension options for both read and write
operations. Use 'blksize' value if smaller than buffer size.
TODO: increase buffer size, implement timeout mechanism
2013-09-28 08:56:54 +00:00
Volker Ruppert
4b59e6b884
slirp / vnet: added support for multiple TFTP sessions
...
slirp: fixed minimum eth packet size for builtin replies
2013-09-27 11:47:59 +00:00
Stanislav Shwartsman
01c0f07e4e
fixed compilation error under cygwin which defines WIN32
2013-09-26 19:51:30 +00:00
Stanislav Shwartsman
fa06b26c88
Make possible to deliver instruction name for disasm directly from bx_ia_opcode_name (some opcodes were renamed).
...
Fixed bug in stack optimization in 64-bit mode (should result in some speedup)
ia_opcode.h - eliminate some OP_M cases when they actually meant "value of specific type in the memory"
example: "MOVBE Md, Gd" actually means "MOVBE Ed, Gd"which just not have reg/reg form.
2013-09-26 18:54:32 +00:00
Stanislav Shwartsman
9bed769cdd
fixed typo in enable-evex option in configure script
2013-09-24 20:47:40 +00:00
Stanislav Shwartsman
839b841c38
added register type to register source information in decoder
2013-09-24 09:50:25 +00:00
Stanislav Shwartsman
ff79cbd596
Infrstructure change to support disasm of BxInstruction_c directly (without calling disasm)
...
The end goal will be also merging of disasm and cpu decoder to one module and remove the disasm.
Two bug fixes on the way:
TBM: fixed 64-bit TBM instructions with memory access (did 32-bit load instead of 64-bit)
BMI2: fixed operands order for PEXT/PDEP instructions
AVX2: fixed gather instruction decoding bug from decoder alias commit
2013-09-24 05:21:00 +00:00
Stanislav Shwartsman
f791802286
infrastructure change for several AVX handlers to support any VL and only 128/256
2013-09-21 20:40:57 +00:00
Stanislav Shwartsman
404b8b1475
move end of trace indication to separate 'flags' field of bx_ia_opcode. this saves a lot of code duplication and simplifies the decode tables. also on the way found missing SVM opcodes that missed 'end of trace' mark
2013-09-21 18:58:01 +00:00
Stanislav Shwartsman
047b17d415
fixed typo in makefile
2013-09-21 10:52:18 +00:00
Stanislav Shwartsman
cd55ace8c8
fixed compilation err, rename opcode and handler functions for PUSHA/POPA instructions
2013-09-21 10:03:49 +00:00
Stanislav Shwartsman
2526282ed9
small additions for avx512
2013-09-20 18:27:33 +00:00
Stanislav Shwartsman
3803ac7fbe
fixed evex override mscsr controls
2013-09-19 21:38:25 +00:00
Stanislav Shwartsman
0441f82b02
implement more AVX512 instructions
2013-09-19 20:35:55 +00:00
Stanislav Shwartsman
55f9155bc5
add new file
2013-09-19 18:32:39 +00:00
Stanislav Shwartsman
8b3a0acde9
implement first EVEX instructions - VADDPS/PD/SS/SD
2013-09-19 18:31:30 +00:00
Stanislav Shwartsman
8e71a86542
seve vex prefix value to the indication of vex prefix used
2013-09-18 18:01:48 +00:00
Stanislav Shwartsman
da0e2baf22
avoid segfault when decoding incorrectly encoded kmask op
2013-09-17 21:01:24 +00:00
Stanislav Shwartsman
d169860f6c
added masked operations to simd_pfp.h, optimize simd_int.h, rewrite dpps instr using new masked op from simd_pfp.h
2013-09-17 20:49:26 +00:00
Stanislav Shwartsman
aa25c1db6a
name convention change - search and replace
2013-09-17 17:34:20 +00:00
Stanislav Shwartsman
b6c39a3176
merge AVX and SSE .bochsrc options to single SIMD option which will configure SSE and AVX together
2013-09-16 19:50:36 +00:00
Stanislav Shwartsman
1cebe5f83d
rellback part of commit with xmm register access interface changes - doesn't work for big endian hosts
2013-09-16 19:10:42 +00:00
Volker Ruppert
ec4990a380
slirp / vnet: only one instance per Bochs session supported yet
2013-09-16 17:06:03 +00:00
Stanislav Shwartsman
0cb0acc30f
added evex decode tables - next step to populate them :)
2013-09-15 20:48:39 +00:00
Stanislav Shwartsman
1e1fa45cac
fixed makefile after file rename
2013-09-08 20:16:38 +00:00
Stanislav Shwartsman
e4a99b4294
rename avx512_mask.cc
2013-09-08 20:15:52 +00:00
Stanislav Shwartsman
132714bf29
fixed compilation w/o EVEX support enabled
2013-09-08 19:45:46 +00:00
Stanislav Shwartsman
8881800b1f
enable avx-512 in init.cc
2013-09-08 19:35:37 +00:00
Stanislav Shwartsman
7297323c69
First step of AVX512 support implementation (simplest)
...
decode and implement KMASK manipulation instructions
disasm: coming soon
2013-09-08 19:19:16 +00:00
Stanislav Shwartsman
6ddfe5fc3b
reorg avx opcodes in ia_opcodes.h. place v128 and v256 opcodes together. todo: find way to merge them sometimes
2013-09-07 18:52:31 +00:00
Stanislav Shwartsman
a6b85d9443
compress xop tables for vex.l - smaller binary size
2013-09-06 18:56:46 +00:00
Volker Ruppert
dbccb39fb7
fixed unused variable warning with BX_CPU_LEVEL <= 4
2013-09-06 06:44:05 +00:00
Stanislav Shwartsman
0fd4e3450c
update (c) for few files
2013-09-05 18:40:14 +00:00
Stanislav Shwartsman
2c9cf33b2f
update (c) for few files
2013-09-05 18:37:10 +00:00
Stanislav Shwartsman
69f947cef2
fixes and small optimizations for avx and xop decoding
2013-09-05 18:29:50 +00:00
Stanislav Shwartsman
f36364bc65
it doesn't matter if it was vex or xop ...
2013-09-05 17:52:47 +00:00
Volker Ruppert
d943feaf8e
panic if cirrus support is requested but not available to avoid segfault
2013-09-05 07:38:22 +00:00
Volker Ruppert
7c0a261751
final fix for BX_CPU_LEVEL 4
2013-09-05 06:42:17 +00:00
Stanislav Shwartsman
897bf85494
fixed bug in fma4 decoding - found now thanks to new tables re-org
2013-09-04 18:37:49 +00:00
Stanislav Shwartsman
2f957bf142
re-arrange AVX/XOP table to avoid redundant multiplication in decode. TODO: compress the tables 2x using aliases
2013-09-04 18:36:01 +00:00
Stanislav Shwartsman
bb695fd5f5
remove redundant (and incorrect) check
2013-09-04 16:47:52 +00:00
Stanislav Shwartsman
5de4907f93
anotehr fix for Bochs compiled for cpu-level=4
2013-09-04 14:23:58 +00:00
Stanislav Shwartsman
81affbe328
fixed incorrect lock prefix detection
2013-08-30 20:08:04 +00:00
Stanislav Shwartsman
c2558f52d6
generic_cpuid: fixed xsave cpuid leaf when xsave is disabled (need to clear output)
2013-08-29 19:58:31 +00:00
Stanislav Shwartsman
59c65151f5
various fixes
2013-08-29 19:43:15 +00:00