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
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