Commit Graph

9731 Commits

Author SHA1 Message Date
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
Stanislav Shwartsman
735154a755 oops, typo bug in prev commit 2013-08-24 19:46:04 +00:00
Stanislav Shwartsman
65e6760915 small decode optimization 2013-08-24 19:29:43 +00:00
Stanislav Shwartsman
ba317a4ce1 fixed compilation when --enable-evex is ON 2013-08-24 18:28:09 +00:00
Stanislav Shwartsman
748a0da712 one more step in the way towards avx-512 which have more vector registers 2013-08-24 12:12:10 +00:00
Stanislav Shwartsman
25f99f76c3 remove test registers from disasm as well 2013-08-23 05:54:51 +00:00
Stanislav Shwartsman
701d88388e fixed FCS/FDS deprecation 2013-08-22 20:21:36 +00:00
Volker Ruppert
5ac2776cd0 Added IP and UDP header data structure definitions and related code cleanups 2013-08-22 11:53:40 +00:00
Stanislav Shwartsman
3a7e336cb6 more opcode alias - now VEX.W alias 2013-08-21 18:45:36 +00:00
Volker Ruppert
7783e39b77 On Windows, the netmod plugin now must be linked with wsock32 2013-08-21 15:19:47 +00:00
Volker Ruppert
8ae2e48693 Some work on the log functions documentation 2013-08-21 10:23:50 +00:00
Stanislav Shwartsman
115ec37a4c make decoder tables smaller using decode aliases 2013-08-21 04:52:49 +00:00
Volker Ruppert
9ce849e742 Moved ARP processing to netmod.cc to reduce code duplication 2013-08-20 17:43:24 +00:00
Volker Ruppert
dc57eaf155 Added error handling for time0 string format 2013-08-19 06:39:07 +00:00
Volker Ruppert
9f86dbfefe Started writing log functions section and improved sound lowlevel section 2013-08-18 19:54:26 +00:00
Volker Ruppert
f46610032e Added support to specify the initial time in ctime(3) string format 2013-08-18 17:16:16 +00:00
Volker Ruppert
2f66889661 Fixed compilation of the make_cmos_image utility 2013-08-11 08:46:56 +00:00
Volker Ruppert
122249fae8 Updated sound lowlevel and harddisk redologs sections 2013-08-10 22:50:02 +00:00
Volker Ruppert
ffdb10a902 Added separate function to handle recently removed bochsrc options
- added some version info about replacement and removal
- removed 'pnic' option hack
2013-08-10 07:40:38 +00:00
Volker Ruppert
920a8d54b5 Some work on the lowlevel sound support documentation
- split lowlevel sound driver driver section from the SB16 one
- updated SB16 section and MIDI output subsection
- added new subsection about wave input (recording)
- TODO: review wave output descriptions and add more wave input details
2013-08-09 18:55:14 +00:00
Stanislav Shwartsman
33a7063e60 bug fixes 2013-08-05 15:33:41 +00:00
Stanislav Shwartsman
362b99eba0 fixed typo in last commit 2013-08-04 19:47:19 +00:00
Stanislav Shwartsman
3fabcb00b7 VMX: CMPXHG instructions should always write to the memory destination, even if the value unchanged - it affects VMEXIT conditions for the full apic virtualization
Fixed also CMPXHG16B instruction (last one, others were fixed earlier)
2013-08-04 19:37:04 +00:00
Volker Ruppert
b08cb9e9fd Regenerated after sound module changes 2013-08-04 14:35:54 +00:00
Volker Ruppert
51688143aa Some work on the lowlevel sound support
- ALSA driver is now default on Linux (if present)
- SDL sound driver is now default if no platform-specific driver is available
  and the SDL gui is enabled
- soundlnx.cc: sendwavepacket() now exits with error if device is not opened
- soundmod.cc: exit beep loop if sendwavepacket() returns error
2013-08-04 14:35:06 +00:00
Volker Ruppert
323aa782e0 Fixed $PCI service detection 2013-08-02 16:00:10 +00:00
Volker Ruppert
c4174b4691 Fixed $PCI service detection 2013-08-02 15:59:49 +00:00
Volker Ruppert
f672099b28 Some more work on the SB16 and lowlevel sound documentation
- removed SB16 section in the user doc and partly update the developer doc
- some additions in the section "Using sound"
- TODO: update the sound output classes stuff in the developer doc
2013-07-29 19:07:34 +00:00
Volker Ruppert
5990f7d583 Added new section "Using sound"
- some fixes and additions to the bochsrc section
- minor other changes
- TODO: remove SB16 section after updating related one in the developer doc
2013-07-28 20:38:55 +00:00
Volker Ruppert
b67bb74bd6 - updated VS2008 workspace files 2013-07-28 11:07:44 +00:00
Volker Ruppert
a45ec360b3 Fixed outdated documentation of the "cpu: count=" parameter 2013-07-27 15:33:52 +00:00
Volker Ruppert
36c48619d7 Added section about ROM images
- minor other changes
- TODO: write new sound documentation
2013-07-26 17:28:47 +00:00
Stanislav Shwartsman
7005afd3a8 clean up BxRepeatable attribute - not needed anymore after VL AVX field moved to new location 2013-07-26 15:42:49 +00:00
Stanislav Shwartsman
2dbe81db51 first infrastructure changes to support EVEX prefix and AVX-512 extensions recently published by Intel 2013-07-26 12:50:56 +00:00
Volker Ruppert
3e27308899 Allow to specify the platform-default sound driver directly
- driver names "oss", "osx" and "win" can now be used instead of "default"
- updated sound initialization messages
2013-07-25 18:47:11 +00:00
Stanislav Shwartsman
0da1d659d3 CMPXHG should always write to memory dest - affects APIC virtualization VMEXIT conditions 2013-07-24 21:06:24 +00:00
Stanislav Shwartsman
54d3dc4353 properly added sha.cc to the tree 2013-07-24 18:56:37 +00:00
Stanislav Shwartsman
2357dc5ccc Fixed number of invocations of the BX_INSTR_LIN_ACCESS instrumentation callback in cpu/access32.cc, cpu/access64.cc and cpu/paging.cc specify the BX_READ memory access type where BX_RW really applies.
SF Patch #1335 by Mateusz Jurczyk
2013-07-24 18:54:18 +00:00
Stanislav Shwartsman
4c7031962e added new sha.cc file 2013-07-24 18:47:28 +00:00
Stanislav Shwartsman
852b5c3749 implemented SHA new instructions announced in recent Intel SDM extensions document rev015 2013-07-24 18:44:22 +00:00
Stanislav Shwartsman
fd71b03353 add some definitions introduced in recent Intel SDM extensions document (rev015) 2013-07-23 20:51:52 +00:00
Stanislav Shwartsman
4a36fb3edc fixed debug print message for BOUND instruction 2013-07-22 18:52:15 +00:00
Volker Ruppert
3202743c31 clock option: added missing documentation for the 'rtc_sync' parameter 2013-07-22 16:30:33 +00:00
Volker Ruppert
79acd6b1ab Changed bochsrc parser order and cleanup
- moved some options to the top and some legacy ones to the end of the function
- added some info to the legacy keyboard options
- removed 'text_snapshot_check' keyword
- some coding style changes
2013-07-20 16:13:07 +00:00
Volker Ruppert
f3d3b65b19 Synced order of options in bochsrc sample, manual page and user doc 2013-07-20 14:26:41 +00:00
Volker Ruppert
5e0fe6cb5a User documentation updates
- added new gui "vncsrv" and new bochsrc options "sound" and "speaker"
- related changes in the "sb16" and "es1370" descriptions
- started update of the SB16 documentation
- changed the order of some bochsrc options
- TODO #1: sync the order of bochsrc options in all files
- TODO #2: replace SB16 section by a new one (e.g. "Using sound")
- TODO #2: update SB16 stuff in the developer doc
2013-07-18 19:09:25 +00:00
Volker Ruppert
ce4cbc4a43 Updated bochsrc manual page (vncsrv gui and sound option changes)
- fixed some partly invisible lines
- changed the order of some options in bochsrc sample and man page
- TODO: update docbook ducumentation
2013-07-15 17:16:48 +00:00
Volker Ruppert
1c7564b98e Fixed possible crash when using beep thread 2013-07-14 19:01:29 +00:00
Volker Ruppert
b2f8908588 Regenerated after ALSA sound driver changes 2013-07-14 15:16:03 +00:00
Volker Ruppert
b84b0eed52 Moved ALSA sound support to a separate sound driver object
- ALSA stuff moved from soundlnx.* to new soundalsa.* files
- SB16 / ES1370: including specific sound driver headers not necessary
- updated dependencies
2013-07-14 15:14:53 +00:00
Volker Ruppert
9a1d889359 ES1370: implemented wave output to file (raw and VOC format)
- added parameters 'wavemode' and 'wavefile' to the 'es1370' option
- ES1370: added new method sendwavepacket() (similar to SB16)
- moved VOC file methods from sb16.cc to soundmod.cc and added macros for them
- SB16: minor fixes
2013-07-13 17:37:48 +00:00
Volker Ruppert
f91aa29f2b Fixed and simplified DMA timer value calculation 2013-07-07 19:19:59 +00:00
Volker Ruppert
258505a762 Fixed wave output to VOC file
TODO: move VOC file code to soundmod.cc and use it for ES1370, too
2013-07-07 11:27:10 +00:00
Volker Ruppert
dd794d6d44 Some more work on the 'sound' bochsrc option
- added 'wavein' parameter to specify the wave input device if necessary
 - if 'wavein' is not set, Bochs uses the 'waveout' value for input, too
 - SB16: the 'wave' parameter is now only used to specify the filename (mode 2 or 3)
 - TODO: implement 'wavemode' feature for ES1370 similar to SB16
2013-07-06 15:12:04 +00:00
Volker Ruppert
2e993f4a84 Some work on the 'sound' bochsrc option
- forgot to save 'sound' bochsrc line
 - renamed wave output parameter to 'waveout'
 - simplified sound option parsing
2013-06-30 08:21:26 +00:00
Stanislav Shwartsman
148cb1aee0 Thanks to avanced trace linking 256K entries ICache is not needed anymore.
Reduce to 64K entries and save memory.
2013-06-29 10:25:56 +00:00
Stanislav Shwartsman
ef0d2142ab Allow cross-page trace linking again.
The SMC problem was solved in following manner:

 - Every trace linked to another remembers when it was linked (a special timestamp value called traceLinkTimeStamp)
 - When true SMC happens it incremements the traceLinkTimeStamp
 - Jump to the linked trace won't be allowed if traceLinkTimeStamp in the link doesn't match traceLinkTimeStamp

So SMC effectively breaks all trace links and therefore I should not care for them anymore

5%-10% speedup on OS boot benchamarks observed
2013-06-29 10:16:28 +00:00
Stanislav Shwartsman
0276bdfb3e still not allow cross page linking until SMC issue will be solved - cause Win98 crash 2013-06-28 07:51:42 +00:00
Stanislav Shwartsman
40f02e0bfb fixed msdev warnings, update msdev workspaces - add vapic.cc and cpudb new defs 2013-06-26 19:03:00 +00:00
Stanislav Shwartsman
0c570ecb6a clean symbols code a little 2013-06-26 18:07:01 +00:00
Stanislav Shwartsman
74c2cb0127 fixed compilation warning 2013-06-25 17:32:33 +00:00