Volker Ruppert
d2a85e576f
Some work on the lowlevel sound code
...
- Moved audio buffer code and the pcm_callback function to soundlow.cc.
- Added framework for the mixer thread.
2015-01-30 22:52:56 +00:00
Stanislav Shwartsman
e80e911166
fixed compilation on cpu level < 6
2015-01-29 18:41:28 +00:00
Stanislav Shwartsman
d6631f767d
correct alignment checking (on linear address and not on effective address)
2015-01-28 16:49:46 +00:00
Volker Ruppert
38f85eaacb
PCM volume now applied to the output packet in the format conversion code.
2015-01-27 19:33:28 +00:00
Stanislav Shwartsman
51808f775d
4G optimization is active only when seg.base == 0
2015-01-27 15:47:02 +00:00
Volker Ruppert
12d60f5aaf
Some work on the lowlevel sound code.
...
- soundlow: prepared code for 2 pcm parameter sets:
emulated: requested by sendwavepacket()
real: used for the sound output
- soundsdl: startwaveplayback() rewritten to set_pcm_data().
- soundmod: some beep init code fixes.
2015-01-26 21:10:51 +00:00
Stanislav Shwartsman
17c89d1c78
masked load-store optimization for avx-512
2015-01-26 20:52:03 +00:00
Stanislav Shwartsman
ee3841ef07
fixed more compilation problems and code cleanup
2015-01-26 20:01:25 +00:00
Stanislav Shwartsman
3a4bd2da51
fixed debug message
2015-01-26 19:16:51 +00:00
Stanislav Shwartsman
9a70727814
fixed fault priority for memory accesses requiring alignment
2015-01-26 19:09:58 +00:00
Stanislav Shwartsman
74da7a7092
fixed compilation err
2015-01-26 15:34:52 +00:00
Stanislav Shwartsman
b5a603c8c7
fixed %d->%u format found by cppcheck (patch by Maxim Derbasov)
2015-01-25 21:24:13 +00:00
Stanislav Shwartsman
ea390d58dc
added new files, removed old files, remove obsolete assert
2015-01-25 20:58:04 +00:00
Stanislav Shwartsman
5e6955c5e7
Major rewrite of memory access methods to avoid massive code duplication and enable inlining of memory access methods
2015-01-25 20:55:10 +00:00
Volker Ruppert
23ea69f1b2
Rewrite of the audio buffer handling and small code reorganization.
2015-01-25 20:03:11 +00:00
Volker Ruppert
10cf06afbd
Added pcm format conversion support to the win32 and OSX sound modules.
...
Changed name of the pcm conversion method and minor cleanups.
2015-01-25 11:45:13 +00:00
Volker Ruppert
2c621601cb
Moved wave format conversion code to the sound lowlevel base class and added
...
format conversion support to the ALSA and OSS sound modules.
2015-01-24 21:01:45 +00:00
Volker Ruppert
e37498025e
Some small changes in the SDL sound module.
...
- Store conversion multiplier in the C++ class.
- Moved wave callback structure to soundlow.h for future use.
- Removed unused methods.
2015-01-23 19:10:49 +00:00
Volker Ruppert
add5b1e61d
Some work on the Bochs sound support.
...
- OPL3: Added support to change the samplerate of the generator.
- SDL sound: convert wave packet to 16 Bit signed stereo format.
- Increased the maximum size of a single wave packet for playbck/recording.
2015-01-22 20:28:14 +00:00
Volker Ruppert
55f7c7542b
Implemented yes/no dialog for SDL2 (e.g. for VVFAT commit).
2015-01-19 20:32:20 +00:00
Volker Ruppert
3dca0bd8cf
Some work in the soundmod beep code and multithreading improvements.
...
- Beep thread now only started one per simulation.
- Added some more multithreading macros and use them in rfb, vncsrv and soundmod.
- TODO: implement mixer thread and remove beep thread.
2015-01-17 19:53:03 +00:00
Volker Ruppert
dd56a4d1d3
OPL3: improved save/restore support and added SVN Id line.
2015-01-16 18:55:25 +00:00
Stanislav Shwartsman
271f06026d
fixed compilation err with SVM without VMX
2015-01-16 06:15:47 +00:00
Volker Ruppert
cf888edf81
Removed most of the incomplete legacy FM OPL emulation part of the SB16.
...
Only keep the OPL timer code required for chip detection. Started implementing
save/restore support in the OPL3 code ported from DOSBox.
2015-01-15 20:25:27 +00:00
Volker Ruppert
fb265dc532
Ported OPL3 emulation from DOSBox.
...
The code currently only works with the SDL sound output module and at 44100 Hz,
with 16 bit stereo signed little endian format. FM volume control and
save/restore support are not implemented yet. The legacy code for generating
MIDI notes still works and will be removed when mixing support is implemented
in all sound modules.
2015-01-12 21:20:18 +00:00
Volker Ruppert
f9ff6ece2d
Applied some parts of the floppy patch by Ben Lunt.
...
- The "Read ID" command must return an error when reading with non-existant head.
- Some BX_DEBUG improvements and minor other changes.
2015-01-12 18:52:39 +00:00
Stanislav Shwartsman
63c3ed3f70
update (c) and fix instrumentation stub
2015-01-11 20:50:26 +00:00
Stanislav Shwartsman
3b237df41d
Added far branch origin to bx_instr_far_branch instrumentation callback by user request
...
Updated instrumentation examples
Fixed code duplication
2015-01-11 20:45:39 +00:00
Volker Ruppert
fe49c73a6b
Some work on the lowlevel sound support.
...
- Define new structure bx_pcm_param_t and use it as a parameter for the method
sendwavepacket(). The method startwavepacket() is now called from
sendwavepacket() in case of a parameter change (temporary solution).
- soundsdl: Replaced waveready() call by some more accurate code for buffer
space check in sendwavepacket().
- soundsdl: Moved code for reading from audio buffer to a new function.
- soundsdl: Temporarily increase the audio buffer size.
- Preparing the SB16 code for the OPL emulation port from DOSBox.
2015-01-11 20:13:50 +00:00
Volker Ruppert
7bd5eeaa87
Mix the wave input using SDL_MixAudio() (addition and clipping).
...
NOTE: This function is not correct in case of more than 2 active sources.
2015-01-11 07:57:35 +00:00
Volker Ruppert
15ccdef0d1
Fixed register/unregister wave callback (found while testing OPL code).
2015-01-10 19:36:50 +00:00
Volker Ruppert
fe953485b1
Some more work in the lowlevel sound code.
...
- Reworked wave callback code to support 2 input sources (no mixing yet).
- Fixed SDL sound output.
- Beep generator fixes.
- Prepared the SB16 code for FM OPL output support (to be ported from DOSBox).
2015-01-08 19:12:01 +00:00
Stanislav Shwartsman
055da948a0
fixed problems found by cppcheck tool (patch by Maxim Derbasov) - second round
2015-01-07 16:17:40 +00:00
Volker Ruppert
2ca192eef7
Some more work in the lowlevel sound code.
...
- Renamed wavedata callback type.
- Handle sample rate in the beep generator (TODO: handle data format).
- Don't call waveready() in the SB16 code.
- Attempt to fix SDL2 wave output using SDL_LockAudio() / SDL_UnlockAudio().
- SDL specific code in the beep thread no longer needed.
2015-01-05 22:07:03 +00:00
Volker Ruppert
0c205fce26
Some work in the lowlevel sound code.
...
- Added framework for polling wave data and use it for beep output in sdl.
- Some work in the beep thread code (to be continued).
- Moved macros required for multithreading to bochs.h.
2015-01-04 21:12:41 +00:00
Volker Ruppert
2357175d79
Show mouse messages only if capture status changes.
2015-01-03 17:13:54 +00:00
Stanislav Shwartsman
1f4d3e7194
fixed problems found by cppcheck tool (patch by Maxim Derbasov)
2015-01-03 13:53:52 +00:00
Volker Ruppert
c7c92bb62b
Fixed OPL chip detection.
...
- Increment timer counter before checking for overflow.
- Implemented ISA bus delay in the pc_system code and use it for the SB16.
This makes OPL chip detection work at ips values > 4 Mips.
TODO: OPL chip should use wave output instead of MIDI (maybe port from DOSBox).
TODO: Use isa_bus_delay() for other legacy devices if required.
2014-12-31 12:27:32 +00:00
Volker Ruppert
33a633cbd2
Partial rewrite of the win32 mouse motion handling.
...
- If the mouse is captured, use ClipCursor() to keep the cursor in the window.
- After handling mouse motion event in relative mode, move the cursor back to
the window center (similar to other guis).
2014-12-30 16:31:17 +00:00
Volker Ruppert
2f893a76ff
Small code cleanup
2014-12-29 18:50:03 +00:00
Volker Ruppert
ba6f2f5c24
Fixed 2 typos.
2014-12-28 23:57:53 +00:00
Volker Ruppert
8272ce1b9f
Now build rules for all gui and device plugins supported by MSVC nmake depend
...
on the related configure options.
2014-12-28 19:13:16 +00:00
Volker Ruppert
ee5a416228
Now build rules for all gui and device plugins supported by MSVC nmake depend
...
on the related configure options.
2014-12-28 19:13:02 +00:00
Volker Ruppert
e50a0c517a
Key auto-release feature changed: now release the pressed keys when the Bochs
...
window is losing the keyboard focus. This feature is now also supported by the
win32 gui.
2014-12-27 15:57:30 +00:00
Volker Ruppert
65d2bb11eb
Release all pressed keys when the Bochs window gets back the keyboard focus.
...
- feature implemented in the wxWidgets gui
- feature not required for legacy SDL (releases keys on focus change)
- removed duplicate code in keyboard.cc
- TODO: implement feature in the win32 gui if required
2014-12-27 09:43:05 +00:00
Volker Ruppert
227da0c6de
Release all pressed keys when the simulation window gets back the keyboard
...
focus. This change will fix some keyboard-related bug reports (DONE for the
x and sdl2 guis / TODO for all others).
2014-12-26 20:25:27 +00:00
Volker Ruppert
d01a6176a8
Fixed keyboard scancode processing after keyboard intercept using stack
...
manipulation (SF bug report #1193 ).
2014-12-26 10:32:26 +00:00
Volker Ruppert
4cd8b284c0
Fixed keyboard scancode processing after keyboard intercept using stack
...
manipulation (SF bug report #1193 ).
2014-12-26 10:31:39 +00:00
Volker Ruppert
e5e535dad2
Fixed slirp compilation on OpenBSD.
...
TODO: fix slirp support compiled with VS2013.
2014-12-25 17:58:26 +00:00
Volker Ruppert
f0b38ff643
Restore VGA core before the PCI / VBE stuff to avoid crash due to wrong dimension.
2014-12-24 19:44:47 +00:00
Volker Ruppert
b18ed8e2b1
Applied Debian patch for wxWidgets 3.0 compatibility.
2014-12-23 19:30:03 +00:00
Volker Ruppert
88d9ad57bf
Attempt to fix the win32 raw serial receive support using a critical section
...
(untested - code should be enabled after successful testing).
2014-12-23 17:13:29 +00:00
Volker Ruppert
5abc3e647f
Fixed some MSVC warnings in the debugger code.
2014-12-23 11:53:35 +00:00
Volker Ruppert
c3b025e224
Fixed possible crash when compiled with VS2013.
...
TODO: fix slirp support compiled with VS2013.
2014-12-22 14:26:47 +00:00
Volker Ruppert
795a7929f1
Fixed link failure if GTK debugger is present, but no other Bochs facilty
...
using the pthreads library (SF patch #531 by Dawn Teschendorf fixing SF bug
#1364 ).
2014-12-20 07:51:11 +00:00
Volker Ruppert
f2c9a503d1
Added debugger support for the term gui using a pseudo-terminal. The command-line
...
debugger appears on main terminal and Bochs screen on pseudo-terminal connected
to minicom (based on SF patch #522 ).
2014-12-18 20:29:37 +00:00
Stanislav Shwartsman
6fd2d32180
fixed exception error code for debugger and instrumentation
2014-12-18 19:45:03 +00:00
Volker Ruppert
2ec57b8a6b
Fixed some more C++11 warnings.
2014-12-18 17:52:40 +00:00
Stanislav Shwartsman
fea4d47830
fixed spelling in comments
2014-12-16 20:11:08 +00:00
Volker Ruppert
19b3d52934
Fixed possible crash when the GTK+ debugger is enabled (based on SF patch by
...
Dawn Teschendorf).
2014-12-16 19:48:50 +00:00
Stanislav Shwartsman
6700a3f5e6
fix cpuid patch merged
2014-12-16 06:52:24 +00:00
Volker Ruppert
22665b3225
Re-enable "bulk I/O" repeat speedups extension that has been accidently disabled
...
about 3 years ago.
2014-12-16 02:26:55 +00:00
Volker Ruppert
3d228c4f61
Fixed some other overlapping memcpy() issues.
2014-12-16 02:26:00 +00:00
Volker Ruppert
f35b9b23c8
Bugfix: use memmove() if source and destination range can overlap (found with valgrind).
2014-12-14 18:53:16 +00:00
Volker Ruppert
902ed3f90b
Fixed unregistering memory handlers (affected memory bits must be cleared).
2014-12-14 09:19:09 +00:00
Volker Ruppert
f8e04266d6
Added capability to control VS2013 fastcall switch with configure option
...
--enable-fast-function-calls (MSVC nmake only).
2014-12-12 18:45:32 +00:00
Volker Ruppert
a1851e7f38
Enclose string literal in wxT() macros to fix unicode version.
2014-12-06 23:10:11 +00:00
Volker Ruppert
c8ef526143
Fixed some warnings.
2014-12-01 17:06:00 +00:00
Stanislav Shwartsman
03dab0b0c9
remove debug prints from param tree dump in xml format, small code reorg
2014-11-30 21:26:33 +00:00
Volker Ruppert
fba9145f66
Moved sources of the sound lowlevel base class ('dummy' driver) to separate files.
2014-11-24 18:25:14 +00:00
Volker Ruppert
5a346de14d
Changed to way to determine the default lowlevel sound driver (part of the
...
mixing3.patch by Dawn Teschendorf).
2014-11-22 11:44:02 +00:00
Volker Ruppert
7330f3a61c
Changed to way to determine the default lowlevel sound driver (part of the
...
mixing3.patch by Dawn Teschendorf).
2014-11-22 11:43:40 +00:00
Volker Ruppert
9805324c42
Minor changes in the sound lowlevel code.
2014-11-21 23:03:19 +00:00
Stanislav Shwartsman
1924780b06
added ability to dump Bochs param tree in XML format
2014-11-15 22:03:52 +00:00
Volker Ruppert
5f0a7b18c9
Enable GTK debugger only if GTK2 libraries are installed.
2014-11-15 13:33:18 +00:00
Volker Ruppert
53ae488fb2
Enable GTK debugger only if GTK2 libraries are installed.
2014-11-15 13:32:49 +00:00
Volker Ruppert
524ba46c3d
Added the capability to select the operation mode of the VGA update timer.
...
The realtime mode is enabled by default (patch by Dawn Teschendorf).
2014-11-15 10:22:27 +00:00
Volker Ruppert
866f9480f8
Fixed typo in iodev_sound.vcxproj
2014-11-15 07:45:49 +00:00
Volker Ruppert
3a1bb1f476
Bugfix: sound driver 'sdl' wasn't available if Bochs was compiled with SDL2 gui.
...
FIXME: wave output doesn't work properly in case of SDL2.
2014-11-14 18:25:37 +00:00
Volker Ruppert
9e9bdeda48
Fixed possible failure when installing plugin libraries (patch by Dawn Teschendorf).
2014-11-13 18:18:38 +00:00
Volker Ruppert
bea4a02b18
Save and restore GTK font setting using INI file.
2014-11-09 19:09:11 +00:00
Volker Ruppert
a2886318d8
Save/restore GTK debugger window size and position using INI file.
...
TODO: handle GTK font selection.
2014-11-07 18:59:59 +00:00
Stanislav Shwartsman
f01891faa2
fixed compilation err with perfmon disabled
2014-11-07 13:15:54 +00:00
Volker Ruppert
e6be902c56
Maximize debugger window if upper-left edge is outside of desktop.
...
Fixed font selection: disable "italic" flag before calling dialog.
2014-11-06 19:02:34 +00:00
Volker Ruppert
10a016194c
Save proportions of the Reg, Asm and Dump windows to INI file.
...
TODO: handle font selection and main window size/position in the GTK version.
2014-11-06 17:13:27 +00:00
Stanislav Shwartsman
9219c2c20b
fixed format for debug printing x87 numbers
2014-11-05 18:29:35 +00:00
Volker Ruppert
d70ee1e99b
Fixed font setup after reading from INI file.
2014-11-04 21:09:18 +00:00
Stanislav Shwartsman
6e254743c1
Added missing sanity check.
...
The sanity check would help to detect real Bochs crash issue under Win x64 with MSDEV
configure script under Mingw env decided that SIZEOF_INT_P == 4 which is terribly wrong for 64-bit host.
2014-11-04 19:00:20 +00:00
Stanislav Shwartsman
9feed6d777
fixed bug in write_new_stack_qword
2014-11-03 14:34:20 +00:00
Volker Ruppert
1afe32ad2a
Documentation fixes and updates.
2014-11-02 16:43:38 +00:00
Volker Ruppert
f871f42721
Regenerated after release
2014-11-02 14:15:32 +00:00
Volker Ruppert
b7c8323633
Fixed panic in case x86-64 support is not present (Bochs 2.6.7 P4-SMP release
...
binaries are already fixed).
Usual updates after release (version strings, release tag).
2014-11-02 14:14:36 +00:00
Volker Ruppert
b07c01fef3
Regenerated for release
2014-11-02 07:46:30 +00:00
Volker Ruppert
6d1dcdccc6
Preparing release 2.6.7
2014-11-02 07:45:40 +00:00
Stanislav Shwartsman
987e2ad223
Added definitions from recently published Intel Architecture
...
Instruction Set Extensions Programming Reference rev22.
Implemented CLWB instruction
2014-11-01 13:12:24 +00:00
Stanislav Shwartsman
45ddcf2e02
compilation fix
2014-11-01 11:51:03 +00:00
Stanislav Shwartsman
5f4e7f8b49
fixed compilation when APIC if snot enabled
2014-11-01 10:25:42 +00:00
Volker Ruppert
1ed744884c
Disable enhanced debugger if gui support is not available.
2014-11-01 10:13:40 +00:00
Volker Ruppert
11e626458b
Improved documentation for SDL2 and the gui debugger.
2014-11-01 09:39:47 +00:00
Volker Ruppert
aad31f7767
Added support for save/restore of the debugger main window size and position
...
using the INI file.
TODO: handle child windows, implement font/window handling in the GTK version.
2014-10-31 19:35:57 +00:00
Volker Ruppert
56a1f53de7
Rewrite of the font selection code to support save/restore of font settings
...
using the INI file.
2014-10-28 18:54:48 +00:00
Stanislav Shwartsman
618bc234ab
changes in comments
2014-10-24 11:18:52 +00:00
Stanislav Shwartsman
f11b9a7f58
CPUID: "Yonah" and "Atom N-270" should report max virtual address as 32-bit in leaf 0x80000008
2014-10-22 19:53:23 +00:00
Stanislav Shwartsman
cb18f1e0a1
more use of the clearflagsOSZAPC
2014-10-22 18:24:33 +00:00
Stanislav Shwartsman
1c027b17d7
some lazy flags handling optimizations
2014-10-22 17:49:12 +00:00
Stanislav Shwartsman
25ad64f75a
rename one more mem access handler
2014-10-21 19:11:21 +00:00
Stanislav Shwartsman
1de7a35031
update (c)
2014-10-20 21:10:52 +00:00
Stanislav Shwartsman
ea91354b3b
code reorg : take laddr calculation out of 64-bit memory handlers. this creates generic linear address memory handlers which now could be used elsewhere
2014-10-20 21:08:29 +00:00
Volker Ruppert
59f5a03af6
Rewrite of the virtual timer code to support both modes at the same timer.
...
The timers now have a new member 'realtime' and they are driven by the
selected engine. The VGA update timer and the status LED timer now always use
the realtime mode, but the PIT and CMOS RTC depend on the clock options.
2014-10-19 08:54:16 +00:00
Volker Ruppert
9162bd2309
CHANGES updated
2014-10-16 17:25:14 +00:00
Stanislav Shwartsman
2c4b17ebff
fixed compilation err without x86-64 compiled in
2014-10-16 06:29:58 +00:00
Stanislav Shwartsman
dc31bcf38e
remove misaligned sse from .conf.everything deprecated
2014-10-15 19:29:31 +00:00
Stanislav Shwartsman
54a009ccf9
update CHANGES. added BX_INFO prints related to Perfmon usage
2014-10-15 19:04:28 +00:00
Stanislav Shwartsman
6252632e31
Fixed segmentation fault that could happen under rare conditions with handlers chaining speedups enabled.
...
I saw that issue under gcc 4.9.0. for some reason gcc 4.9.0 didn't optimize next handler call in all fpu opcode handlers.
As result, instead of finishing the handler and jumping to next one, the next handler is called blowing up stack.
After some long period stack overflow might occur.
The fix simply limit the max chaining depth to 1000 traces (should be enough)
The same fix should be able to address the stack overflow problem when compiling with -O0 and handlers chaining speedup enabled.
2014-10-15 18:00:04 +00:00
Stanislav Shwartsman
d82e51f947
added comment to RDPMC instr
2014-10-15 15:28:13 +00:00
Stanislav Shwartsman
841117c721
added more perfmon MSR defines into cpu.h
2014-10-15 15:21:38 +00:00
Stanislav Shwartsman
caab07e580
move common code (extended topology leaf) into base cpuid class to save code duplication
2014-10-15 14:25:08 +00:00
Stanislav Shwartsman
f8267ec3a7
rework in CPUID code (fixed code duplication). Re-enable perfmon reporting in CPUID because Win8/Win10 installation doesn't want to start without perfmon reported. TODO: implement basic perfmon support (at least only fixed counters) because win7-64 doesn't install with perfmon reported but not implemented
2014-10-15 08:04:38 +00:00
Stanislav Shwartsman
206c19116d
fixed diagnostic message
2014-10-15 05:15:58 +00:00
Volker Ruppert
3393a17c8f
Fixed crash when using a "fixed" type VPC image.
2014-10-14 21:39:05 +00:00
Stanislav Shwartsman
c5f1e6a0f9
fixed comment
2014-10-14 17:55:41 +00:00
Stanislav Shwartsman
8d1e3b2ac1
Added statistics collection infrastructure in Bochs and
...
implemented important CPU statistics which were used for Bochs CPU model performance analysis.
old statistics code from paging.cc and cpu.cc is replaced with new infrastructure.
In order to enale statitics collection in Bochs CPU:
- Enable statistics @ compilation time in cpu/cpustats.h
- Dump statistics periodically by adding -dumpstats N into Bochs command line
2014-10-14 15:59:10 +00:00
Volker Ruppert
63665aa773
Removed unused define.
...
TODO: improve virtual timer to make operate in both modes at the same time.
The vga update code should always use the realtime mode and the pit timing
should depend on the clock option.
2014-10-13 18:34:21 +00:00
Volker Ruppert
cebff45fef
Fixed two fields in xmit_seg()
2014-10-13 17:09:14 +00:00
Stanislav Shwartsman
1ef6c3139c
removed duplication in XCHG instruction handlers
2014-10-12 19:31:14 +00:00
Stanislav Shwartsman
24cb334304
fixed large code duplication in write_new_stack methods
2014-10-12 18:59:10 +00:00
Volker Ruppert
bb1def0ad2
Fixed WinPCap function declaration and assignment for MSVC using CDECL and
...
now using typedefs similar to the niclist utility.
2014-10-04 17:31:57 +00:00
Stanislav Shwartsman
3db00a7e52
fixed CMPXHG16B implementation
2014-10-02 18:53:41 +00:00
Volker Ruppert
c1e54bcfbf
Added USB port specific option 'size' for VVFAT disks (range 128M ... 128G).
...
If the size is not specified or invalid, it defaults to 504M.
2014-09-29 17:48:30 +00:00
Volker Ruppert
d012670927
Applied the usb_xhci part of the USB patch by Ben Lunt.
...
Notes by Ben:
This emulates a NEC/Renesas uPD720202 2-port (2 socket, 4-port register sets)
Root Hub xHCI Host Controller.
Many, many thanks to Renesas for their work and effort in helping my research.
I have tested in with my own tests and WinXP Home Edition SP3.
Use port1 and port2 to emulate a Super-speed device, and use port3 and port4
to emulate Low-, Full-, or High-speed devices.
NOTE: The Windows driver for this device uses a proprietary detection
mechanism and we don't have the permission to implement it. That's why it only
works fine with non-Windows guests.
2014-09-28 14:21:22 +00:00
Stanislav Shwartsman
4ab9f62a20
bugfix: register supported cpu extensions for trinity cpu model
2014-09-26 19:24:11 +00:00
Stanislav Shwartsman
6ebbb886c4
implemented VPMULTISHIFTQB VBMI instruction
2014-09-26 13:19:45 +00:00
Stanislav Shwartsman
e2e6f5a62b
Update CPUID defines after recently published
...
Intel Architecture Instruction Set Extensions Programming Reference rev-021
Enable AVX-512 with all implemented extensions in generic CPUID when simd=AVX512 is supplied
implemented AVX512_IFMA532 instructions
implemented AVX512_VBMI instructions
still missing: VPMULTISHIFTQB - VBMI instruction (coming soon)
2014-09-26 12:14:53 +00:00
Volker Ruppert
b8a633d0db
Setting cylinders to 0 fixes runtime connecting an USB disk with 'vvfat' mode
...
(disk size is always set to 504M / could be a vvfat specific option).
2014-09-25 19:31:01 +00:00
Volker Ruppert
50e96fa1cd
- applied parts of the new USB patch by Ben Lunt
...
- removed max_packet_size member from USB device structure
- usb_uhci: improved speed info
- updated USB-related documentation
- TODO: review and test the main part of the xHCI changes by Ben
2014-09-22 19:49:39 +00:00
Stanislav Shwartsman
86bb2f97cc
fixed shoft128right macro is softfloat
2014-09-19 16:01:46 +00:00
Volker Ruppert
91937748fa
Added "DockOrder" setting to gui debugger INI file.
...
Prepared handling of platform-specific settings (e.g. fonts, window sizes).
2014-09-14 19:36:13 +00:00
Stanislav Shwartsman
694069bd36
fixed cmpxchg16b bug (SF titcket #523 in patches tracker)
2014-09-14 18:13:08 +00:00
Volker Ruppert
2092d3bd40
Improved infos about the legacy Bochs BIOS.
2014-09-09 17:32:36 +00:00
Volker Ruppert
4f3189d5e5
Updated xHCI files to match the latest spec version 1.10 (patch by Ben Lunt)
2014-09-07 18:18:41 +00:00
Volker Ruppert
d12858ab31
Add one more common setting to gui debugger INI file.
...
TODO: add platform-specific settings (font, window size/position)
Disable log viewer on debugger exit.
textconfig: minor fixes found while testing gui debugger.
2014-09-01 16:47:26 +00:00
Stanislav Shwartsman
29efae3be3
adjust (c) in several files
2014-08-31 20:05:25 +00:00
Stanislav Shwartsman
5413b5c31b
don't forget to initialize (clear) cpu features bitmask in the beginning ...
2014-08-31 19:48:58 +00:00
Stanislav Shwartsman
6db61bedb1
compilation fixes with debugger enabled
2014-08-31 19:29:53 +00:00
Stanislav Shwartsman
5eb781e45f
cleanup after cpu features interface rework
2014-08-31 19:22:41 +00:00
Stanislav Shwartsman
b6147d9de8
fixed debugger enabled code
2014-08-31 18:48:04 +00:00
Stanislav Shwartsman
9f57e70d5f
Rewritten handling of supported CPUID features to be able to handle large amount of CPU extensions
...
Now enable support for up to 128 CPU extensions and could easily extend it more
Also reduce memory footprint for bx_ia_opcodes.h arrays
2014-08-31 18:39:18 +00:00
Volker Ruppert
34d4983cba
Compile enhanced gui debugger core only if enabled.
2014-08-31 17:08:58 +00:00
Volker Ruppert
d30d9bc667
Handle some more settings in gui debugger INI file.
2014-08-31 08:18:43 +00:00
Volker Ruppert
a9347e5fba
Use closesocket() instead of close() (similar to slirp and serial code)
...
Fixed some warnings
2014-08-30 14:25:06 +00:00
Volker Ruppert
9b3b792c73
Gui debugger: handle some more settings in INI file
...
Slirp: fixed copy-and-paste error
2014-08-30 07:14:19 +00:00
Volker Ruppert
7ba82cab9f
Write enhanced debugger gui settings to config file on exit and read them in
...
the init code. Started with the SeeReg[] array values. Some other setting could
be added later. The parser code is based on the slirp config parser.
Slirp: fixed possible segfault if the value for a parameter is missing.
2014-08-24 14:28:42 +00:00
Volker Ruppert
73d5f6e626
Attempt to fix a compilation error on OSX.
2014-08-23 14:46:31 +00:00
Volker Ruppert
36aa1ae6d2
Close enhanced gui debugger in gui exit() method if necessary.
...
TODO: read / write enhanced gui debugger settings in init / close functions
2014-08-17 12:48:05 +00:00
Stanislav Shwartsman
8e632c1bbe
fixed bug in vrsqt14* implementation
2014-08-16 18:15:02 +00:00
Stanislav Shwartsman
e1bcc8cb1e
bugfix with denormal arguments in avx-512 14-bit reciprocal
2014-08-15 19:00:12 +00:00
Stanislav Shwartsman
7e1a31af5e
fixed denormal arg handling in VGENTMANT*
2014-08-15 10:27:56 +00:00
Stanislav Shwartsman
c064a09348
regen dependencies in makefile for cpu objects
2014-08-14 19:53:57 +00:00
Stanislav Shwartsman
7ae5a1c6b3
fixed NaN handling for VRANGE* instructions
2014-08-14 19:42:34 +00:00
Stanislav Shwartsman
128137b421
avx512 bugfixes
2014-08-13 18:34:42 +00:00
Stanislav Shwartsman
fb526a0670
implemented (not yet 100% correct) VREDUCE* AVX512 opcode
2014-08-08 19:12:18 +00:00
Stanislav Shwartsman
4b03966176
Implemented VDBPSADBW AVX512BW instruction
...
The only missing AVX512BW/AVX512DQ opcodes are now:
"NDS.512.66.0F3A.W0 56 VREDUCEPS
NDS.512.66.0F3A.W1 56 VREDUCEPD"
"NDS.512.66.0F3A.W0 57 VREDUCESS
NDS.512.66.0F3A.W1 57 VREDUCESD"
2014-08-05 20:18:42 +00:00
Stanislav Shwartsman
4455d9100b
simplify code a little more
2014-08-05 19:20:15 +00:00
Stanislav Shwartsman
5b0d0519d5
fixed typo in prev checkin
2014-08-05 19:03:17 +00:00
Stanislav Shwartsman
2231ffb242
simplify legacy (sse and avx) sad calculation in simd_int.h
2014-08-05 19:01:01 +00:00
Stanislav Shwartsman
5e80c1f419
fixed vrange* abs comparisons in softfloat
2014-08-04 21:24:38 +00:00
Stanislav Shwartsman
63a4130311
changed polarity of is_min bit in range operation to better match vrange* instructions immediate encoding
2014-08-04 21:08:00 +00:00
Stanislav Shwartsman
fefa61a7cb
Implemented VRANGE* AVX512DQ instructions
...
The only missing AVX512BW/AVX512DQ opcodes are now:
"NDS.66.0F3A.W0 42 VDBPSADBW"
"NDS.512.66.0F3A.W0 56 VREDUCEPS
NDS.512.66.0F3A.W1 56 VREDUCEPD"
"NDS.512.66.0F3A.W0 57 VREDUCESS
NDS.512.66.0F3A.W1 57 VREDUCESD"
2014-08-04 20:30:46 +00:00
Stanislav Shwartsman
524a73f48c
prepare softfloat functions for vrange* instructions implementation
2014-08-04 19:44:25 +00:00
Volker Ruppert
cdd481bec1
Updated generated parser.* files
2014-08-04 18:27:49 +00:00
Stanislav Shwartsman
23a8601ab8
fixed code duplication in floating point compare functions
2014-08-03 19:53:02 +00:00
Volker Ruppert
54072a7475
Enable ask dialog bx default if the SDL2 gui is present
2014-08-03 15:15:36 +00:00
Stanislav Shwartsman
12bee4438f
corrently support 'show all' debugger command
2014-08-02 19:43:05 +00:00
Stanislav Shwartsman
baa6498edf
improved show debugger command help message
2014-08-02 19:39:26 +00:00
Stanislav Shwartsman
1f299b230f
show dbg-all and dbg-none re-anabled with slight syntax change: as dbg_all and dbg_none
2014-08-02 19:30:49 +00:00
Volker Ruppert
ee2336f08f
Updated plugin version of VS2013Ex project workspace after adding avx subfolder
2014-07-31 17:51:49 +00:00
Volker Ruppert
ca48ca23bf
Updated default VS2013Ex project workspace after adding avx subfolder
2014-07-28 17:30:39 +00:00
Volker Ruppert
3376224150
Added minimal documentation for the Bochs debugger gui.
2014-07-27 18:06:06 +00:00
Volker Ruppert
ad27a15023
Enclose 2 string literals in wxT() macros to fix unicode version (SF bug #1351 )
2014-07-27 14:47:55 +00:00
Stanislav Shwartsman
b7f62cdf47
Implemented VPALIGNR AVX512BW instructions
...
The only missing AVX512BW/AVX512DQ opcodes are now:
"NDS.66.0F3A.W0 42 VDBPSADBW"
"NDS.512.66.0F3A.W0 50 VRANGEPS
NDS.512.66.0F3A.W1 50 VRANGEPD"
"NDS.512.66.0F3A.W0 51 VRANGESS
NDS.512.66.0F3A.W1 51 VRANGESD"
"NDS.512.66.0F3A.W0 56 VREDUCEPS
NDS.512.66.0F3A.W1 56 VREDUCEPD"
"NDS.512.66.0F3A.W0 57 VREDUCESS
NDS.512.66.0F3A.W1 57 VREDUCESD"
2014-07-26 18:59:01 +00:00
Volker Ruppert
494ed30e95
Some fixes for plugin support with VS2013Ex
...
- creating extra manifest for bochs.exe no longer needed
- cleaning up temporary manifest files no longer necessary
2014-07-26 06:54:34 +00:00
Stanislav Shwartsman
b70ed32ea5
support fault suppression for recently added avx512bw ops
2014-07-25 21:45:09 +00:00
Stanislav Shwartsman
d8d4d2f0c1
Implemented VPSRLVW/VPSRAVW/VPSLLVW AVX512BW instructions
...
The only missing AVX512BW/AVX512DQ opcodes are now:
"512.66.0F3A.W1 0F VPALIGNR"
"NDS.66.0F3A.W0 42 VDBPSADBW"
"NDS.512.66.0F3A.W0 50 VRANGEPS
NDS.512.66.0F3A.W1 50 VRANGEPD"
"NDS.512.66.0F3A.W0 51 VRANGESS
NDS.512.66.0F3A.W1 51 VRANGESD"
"NDS.512.66.0F3A.W0 56 VREDUCEPS
NDS.512.66.0F3A.W1 56 VREDUCEPD"
"NDS.512.66.0F3A.W0 57 VREDUCESS
NDS.512.66.0F3A.W1 57 VREDUCESD"
2014-07-25 21:15:48 +00:00
Stanislav Shwartsman
7ad7383fd2
implement 256-wide SHUFF/SHUFI ops
2014-07-25 20:08:08 +00:00
Volker Ruppert
6321cbef67
Regenerated after moving AVX/EVEX stuff to cpu subfolder
2014-07-25 08:38:57 +00:00
Volker Ruppert
59eac1f196
Moved AVX/EVEX stuff to a new cpu subfolder and updated build system
...
TODO: update MVSC workspace files
2014-07-25 08:35:06 +00:00
Stanislav Shwartsman
9cc7b67369
bugfix
2014-07-22 20:49:58 +00:00
Stanislav Shwartsman
c4c8652a3b
Implemented VPMOV?2? and VPMIN* AVX512 instructions
...
The only missing AVX512BW/AVX512DQ opcodes are now:
"512.66.0F38.W1 10 VPSRLVW"
"512.66.0F38.W1 11 VPSRAVW"
"512.66.0F38.W1 12 VPSLLVW"
"512.66.0F3A.W1 0F VPALIGNR"
"NDS.66.0F3A.W0 42 VDBPSADBW"
"NDS.512.66.0F3A.W0 50 VRANGEPS
NDS.512.66.0F3A.W1 50 VRANGEPD"
"NDS.512.66.0F3A.W0 51 VRANGESS
NDS.512.66.0F3A.W1 51 VRANGESD"
"NDS.512.66.0F3A.W0 56 VREDUCEPS
NDS.512.66.0F3A.W1 56 VREDUCEPD"
"NDS.512.66.0F3A.W0 57 VREDUCESS
NDS.512.66.0F3A.W1 57 VREDUCESD"
2014-07-22 20:36:55 +00:00
Stanislav Shwartsman
ad7ef68876
Implemented VMULLQ AVX512DQ instruction
...
The only missing AVX512BW/AVX512DQ opcodes are now:
"512.66.0F38.W1 10 VPSRLVW"
"512.66.0F38.W1 11 VPSRAVW"
"512.66.0F38.W1 12 VPSLLVW"
"512.F3.0F38.W0 28 VPMOVM2B
512.F3.0F38.W1 28 VPMOVM2W"
"512.F3.0F38.W0 29 VPMOVB2M
512.F3.0F38.W1 29 VPMOVW2M"
"512.F3.0F38.W0 38 VPMOVM2D
512.F3.0F38.W1 38 VPMOVM2Q"
"512.F3.0F38.W0 39 VPMOVD2M
512.F3.0F38.W1 39 VPMOVQ2M"
"NDS.512.66.0F38.WIG 38 VPMINSB"
"NDS.512.66.0F38.WIG 3A VPMINUW"
"512.66.0F3A.W1 0F VPALIGNR"
"NDS.66.0F3A.W0 42 VDBPSADBW"
"NDS.512.66.0F3A.W0 50 VRANGEPS
NDS.512.66.0F3A.W1 50 VRANGEPD"
"NDS.512.66.0F3A.W0 51 VRANGESS
NDS.512.66.0F3A.W1 51 VRANGESD"
"NDS.512.66.0F3A.W0 56 VREDUCEPS
NDS.512.66.0F3A.W1 56 VREDUCEPD"
"NDS.512.66.0F3A.W0 57 VREDUCESS
NDS.512.66.0F3A.W1 57 VREDUCESD"
2014-07-21 19:08:44 +00:00
Stanislav Shwartsman
009629f4d9
Implemented VEXTRACT* AVX512DQ instructions
...
The only missing AVX512BW/AVX512DQ opcodes are now:
"512.66.0F38.W1 10 VPSRLVW"
"512.66.0F38.W1 11 VPSRAVW"
"512.66.0F38.W1 12 VPSLLVW"
"512.F3.0F38.W0 28 VPMOVM2B
512.F3.0F38.W1 28 VPMOVM2W"
"512.F3.0F38.W0 29 VPMOVB2M
512.F3.0F38.W1 29 VPMOVW2M"
"512.F3.0F38.W0 38 VPMOVM2D
512.F3.0F38.W1 38 VPMOVM2Q"
"512.F3.0F38.W0 39 VPMOVD2M
512.F3.0F38.W1 39 VPMOVQ2M"
"NDS.512.66.0F38.WIG 38 VPMINSB"
"NDS.512.66.0F38.WIG 3A VPMINUW"
"W1.NDS.512.66.0F38 40 VPMULLQ"
"512.66.0F3A.W1 0F VPALIGNR"
"NDS.66.0F3A.W0 42 VDBPSADBW"
"NDS.512.66.0F3A.W0 50 VRANGEPS
NDS.512.66.0F3A.W1 50 VRANGEPD"
"NDS.512.66.0F3A.W0 51 VRANGESS
NDS.512.66.0F3A.W1 51 VRANGESD"
"NDS.512.66.0F3A.W0 56 VREDUCEPS
NDS.512.66.0F3A.W1 56 VREDUCEPD"
"NDS.512.66.0F3A.W0 57 VREDUCESS
NDS.512.66.0F3A.W1 57 VREDUCESD"
2014-07-20 20:46:48 +00:00
Stanislav Shwartsman
8108da227d
bugfix in canonical violation detection
2014-07-20 18:19:02 +00:00
Stanislav Shwartsman
65ffcf5dc8
avoid using access_write_linear when not strickly needed
2014-07-19 20:01:44 +00:00
Stanislav Shwartsman
8ef5dcaca3
implement more avx512bw opcodes
2014-07-19 19:01:17 +00:00
Stanislav Shwartsman
7083e94077
implemented VBROADCAST*32x2 AVX512DQ opcodes
2014-07-19 18:36:38 +00:00
Stanislav Shwartsman
ca2859f449
implemented more AVX512BW opcodes
2014-07-19 13:30:54 +00:00
Stanislav Shwartsman
caad957384
bugfix in softfloat uint64_to_float64 conversion
2014-07-18 20:30:48 +00:00
Stanislav Shwartsman
3e8a5b99fa
bugfix for vpsrldq opcode decoding
2014-07-18 20:08:10 +00:00
Stanislav Shwartsman
7a133766a8
implemented more AVX512BW opcodes
2014-07-18 19:40:27 +00:00
Stanislav Shwartsman
a556eb21fa
implemented more AVX512BW opcodes
2014-07-18 16:28:44 +00:00
Stanislav Shwartsman
47e7e4adde
bugfix in VFPCLASSPD implementation
2014-07-18 16:01:11 +00:00