Stanislav Shwartsman
9abd8ba8fa
old legacy disasm: omit printing rep prefix if no repeatable opcode
2017-12-28 20:52:46 +00:00
Stanislav Shwartsman
9659641cbf
distinguish between vzeroupper/vzeroall in old legacy disasm
2017-12-28 20:20:13 +00:00
Stanislav Shwartsman
582bf84bae
apply same optimization to disasm as well
2013-10-10 21:00:26 +00:00
Stanislav Shwartsman
5331e8d4d3
rename disasm variable
2013-10-01 20:12:28 +00:00
Stanislav Shwartsman
2526282ed9
small additions for avx512
2013-09-20 18:27:33 +00:00
Stanislav Shwartsman
2638c1136a
Add RDRAND/RDSEED instructions support (+ disasm)
...
Of course no true random numbers will be generated - use standard "C" rand() function as stub.
In future it will be possible to improve (using another random generator) or even use real rdrand/rdseed intrinsics
2012-10-09 15:16:48 +00:00
Stanislav Shwartsman
be76f38b46
correct MOVBE decoding with prefix 0x66, also correct ADX decoding
2012-08-08 20:11:27 +00:00
Stanislav Shwartsman
62b811e48f
disasm: correctly handle VEX and XOP based opcodes
2011-11-23 19:43:50 +00:00
Stanislav Shwartsman
42a0a178eb
disasm for XOP instructions
2011-10-30 08:58:49 +00:00
Stanislav Shwartsman
e796e6a96c
disasm avx2 new instructions (no gather yet)
2011-08-24 20:55:23 +00:00
Stanislav Shwartsman
7ced718040
implemented AVX instructions support
...
many changes - some cleanup will follow
please report ay found bugs !
2011-03-19 20:09:34 +00:00
Stanislav Shwartsman
00981cd7a6
Adding Id and Rev property to all files
2011-02-24 22:05:47 +00:00
Stanislav Shwartsman
8d8d1590f5
fetchdecide rework for AVX (0xF3 SSE prefix encoded as 2 in VEX)
2010-05-23 19:17:41 +00:00
Stanislav Shwartsman
c841eaa953
fixes and cleanups in disasm and decoder
2010-02-09 19:44:25 +00:00
Stanislav Shwartsman
17e513fa8a
disasm fix
2010-01-31 10:17:42 +00:00
Stanislav Shwartsman
eae084920a
optimized decode tables
2010-01-31 09:45:27 +00:00
Stanislav Shwartsman
7254ea36a1
copyright fixes + small optimization
2009-10-14 20:45:29 +00:00
Stanislav Shwartsman
460a85c6ba
bugfix
2009-09-04 10:51:31 +00:00
Stanislav Shwartsman
d9003c946c
disasm fixes
2009-05-15 18:47:34 +00:00
Stanislav Shwartsman
4dcea7e888
Fixed pause instruction disasm
2009-01-27 21:01:21 +00:00
Stanislav Shwartsman
5cc5781a20
Fixed memory corruption inside disasm module !
2009-01-13 22:40:16 +00:00
Stanislav Shwartsman
7d2df1b104
same optimization in disasam
2008-06-11 21:05:38 +00:00
Stanislav Shwartsman
98f1930a80
Fixed compilation issue (patch by Eugene Toder)
2008-04-27 19:47:12 +00:00
Stanislav Shwartsman
5e7218b8c3
Fixed problem introduced by prev checkin
...
+
Fix beak to debugger when executing HLT instruction
2008-02-29 05:39:40 +00:00
Stanislav Shwartsman
405fcfd75d
Reorganize 3-byte opcode tables - bigger tables but easier to maintain them
2008-02-29 03:02:03 +00:00
Stanislav Shwartsman
eebd96e2d7
another whitespace cleanup by Sebastien
2008-02-05 22:33:35 +00:00
Stanislav Shwartsman
033150c7e6
According to AMD docs opcodes 0f 19...0f 1f are multibyte NOP
2007-11-17 16:19:14 +00:00
Stanislav Shwartsman
5445de19d1
Decoding : F2 and F2 prefix could override prefix 66 when determine SSE opcode
2007-10-20 10:56:44 +00:00
Stanislav Shwartsman
0dc4badfbb
Added SSE4A and SSE4_2 to disassembler
...
Implemented POPCNT instruction
2007-09-19 19:38:10 +00:00
Stanislav Shwartsman
4555cc9be3
ud2b opcode should have modrm byte
2007-08-18 13:51:16 +00:00
Stanislav Shwartsman
5189cfbf10
SSE4 support
2007-04-19 16:12:21 +00:00
Stanislav Shwartsman
4f166369a6
Fixes for VMX disasm
2007-03-23 22:07:49 +00:00
Stanislav Shwartsman
ef542b3790
Learn to decode and disassemble VMX opcodes
...
No fetchdecode support but everything is ready
2007-03-23 14:35:50 +00:00
Stanislav Shwartsman
7d4a5ff1b2
Fixed rep prefix printing in disasm
2007-01-25 21:54:05 +00:00
Stanislav Shwartsman
f8003098b1
Rename SSE4 to SSE3E to match intel docs. SSE4 coming later ;)
...
Fixed "last prefix" for REX in 64-bit mode
2007-01-25 19:09:41 +00:00
Stanislav Shwartsman
b0d608da33
Fixed disasm bug in x86-64 mode
2007-01-12 21:53:48 +00:00
Stanislav Shwartsman
fe644dfcbf
- Code cleanup, remove x86-64 code from functions which cannot be called from x86-64
...
- Fix PANIC multiple SSE prefix decoding (fetchdecode and disasm)
- More Bit32u -> bx_phy_address convert
- Lazy flags optimization
2006-05-12 17:04:19 +00:00
Stanislav Shwartsman
003c2f59e6
Added missed CVS header to several files
2006-04-27 15:11:45 +00:00
Stanislav Shwartsman
f8c3968d42
Changes list made after CVS service crash:
...
- Fixed critical bug in CPU code added with one of the prev commits
- Disasm support for SSE4
- Rename PNI->SSE3 everywhere in the code
- Correctly decode, disassemble and execute 'XCHG R8, rAX' x86-64 instruction
- Correctly decode, disassemble and execute multi-byte NOP 0F F1 opcode
- Fixed ENTER and LEAVE instructions in x86-64 mode
- Added ability to turn ON instruction trace, only GUI support is missed.
Instruction trace could be enabled if Bochs was compiled with disasm
- More changes Bit32u -> bx_phy_address
- Complete preliminary implementation of SMM in Bochs, SMI is still PANICs but if you press 'continue' everything should work OK
- Small code cleanup
- Update CHANGES and user docs
2006-04-05 17:31:35 +00:00
Stanislav Shwartsman
5a65e1065e
Decoding functionality for Bochs disassembler.
...
Fixed 'step over' debugger command using bx_dbg_read_linear method.
Small debugger fix in cpu.cc
2006-02-05 19:48:29 +00:00
Stanislav Shwartsman
276c006129
Merge new disasm module with x96-64 support
2005-12-23 14:15:13 +00:00
Stanislav Shwartsman
7b7ac565f9
Getting ready for long mode disasm support, patch will posted soon
2005-11-14 18:09:22 +00:00
Stanislav Shwartsman
5af5d80602
Small disasm fixes
2005-10-23 20:43:32 +00:00
Stanislav Shwartsman
47442d437a
Speedup ICAche decWriteStamp operation. The main idea for this speedup was given by h.johansson.
2005-06-16 20:28:27 +00:00
Stanislav Shwartsman
51b9646407
Merge disasm fixes for PNI instructions (h.johansson)
2005-06-16 16:59:36 +00:00
Stanislav Shwartsman
438ad27ea1
Fixed handling of duplicate 0x66 and 0x67 prefixes in disasm (h.johanson)
2005-06-14 20:05:37 +00:00
Stanislav Shwartsman
7f26baeb94
small optimization in disasm code
2004-12-15 17:15:43 +00:00
Stanislav Shwartsman
f375203fdb
preparations for x86-64 support in disasm
2004-12-12 22:12:43 +00:00
Stanislav Shwartsman
8ac3790ab3
Added experimental support of AT&T syntax to disasm
...
Fixed operand for CMPXCHG8B instruction
Feature request to somebidy who understand Bochs debugger code
- to add Bochs debugger command which will switch between
Intel and AT&T style for disassembler.
2004-12-10 14:04:57 +00:00
Stanislav Shwartsman
a0efe5e577
small cleanup disasm code
...
implement branch taken/not taken indication for conditional Jcc insructions
2004-12-09 23:19:48 +00:00