Commit Graph

10091 Commits

Author SHA1 Message Date
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
Stanislav Shwartsman
7e2ab5ca81 decode simplification for AMD XOP prefix 2013-08-28 19:56:19 +00:00
Stanislav Shwartsman
5d61c19b0b evex support - step2 2013-08-27 20:47:24 +00:00
Stanislav Shwartsman
5fe5bf1ed6 fixed alias typo corrupting avx opcodes 2013-08-27 19:45:31 +00:00
Stanislav Shwartsman
c5f72033ad correct vzeroupper opcode 2013-08-27 06:57:48 +00:00