Stanislav Shwartsman
|
4f625b23e0
|
enable yet another Bochs new decoder. It is a bit slower than old one but it is much more extendable so adding new opcode won't be nightmare anymore
|
2019-02-16 15:23:24 +00:00 |
|
Stanislav Shwartsman
|
d000e21001
|
added MOVDIRI opcode implementation
|
2018-04-06 05:06:36 +00:00 |
|
Stanislav Shwartsman
|
3c08cfedf2
|
fixed buffer overflow when printing instruction disasm for opcode bytes which cannot be decoded
|
2017-12-31 21:22:04 +00:00 |
|
Stanislav Shwartsman
|
f362f34ed6
|
correctly decode PINSRQ instruction
|
2017-12-13 20:59:41 +00:00 |
|
Stanislav Shwartsman
|
8a311515dd
|
correctly decode VPEXTRB/W/D/Q - these opcodes allowed to be with VEX.L=0 only
fixed disasm module compilation with no AVX enabled
remove duplicate opcode handlers
|
2017-12-13 19:51:25 +00:00 |
|
Stanislav Shwartsman
|
b03f78d652
|
updates for bochs decoder and decoder based disasm
|
2017-12-11 15:45:43 +00:00 |
|
Stanislav Shwartsman
|
31ea453921
|
fixed bogus assert
|
2017-12-02 16:40:03 +00:00 |
|
Stanislav Shwartsman
|
60591800f1
|
handle lock mov cr0 amd feature out decoder critical path
|
2017-12-01 21:18:16 +00:00 |
|
Stanislav Shwartsman
|
596b3b6eb8
|
reduce CPU dependencies from fetchdecode module
|
2017-11-25 20:20:34 +00:00 |
|
Stanislav Shwartsman
|
bb43ac527b
|
fixed decoder issue when decoding opcode 8f (aka xop prefix) as well
|
2017-05-27 10:32:44 +00:00 |
|
Stanislav Shwartsman
|
54c109ceb4
|
VEX and EVEX opcodes should be considered as 2-byte opcode, always attempt to fetch 2nd byte even if #UD is already detected
|
2017-05-26 11:46:02 +00:00 |
|
Stanislav Shwartsman
|
862e817884
|
fixed typo caused compilation err
|
2017-03-28 19:13:20 +00:00 |
|
Stanislav Shwartsman
|
b7b0165d3c
|
new naming convention for UD opcodes
|
2017-03-28 19:00:00 +00:00 |
|
Stanislav Shwartsman
|
af1d83f35d
|
update (c)
|
2017-01-11 20:54:09 +00:00 |
|
Stanislav Shwartsman
|
521d2d10c4
|
correctly fixed x32 emu compilation err + bugfix for AVX decoder
|
2017-01-11 20:51:58 +00:00 |
|
Stanislav Shwartsman
|
72e5213ff4
|
compilation fix and code simplifcation
|
2017-01-11 19:12:06 +00:00 |
|
Stanislav Shwartsman
|
10eb193e01
|
step 1 of rewrite Bochs decoder: legacy decoder tables done. TODO: avx/evex decoder tables, merge decoder and disasm together
|
2017-01-10 20:15:17 +00:00 |
|
Stanislav Shwartsman
|
e613e9ff86
|
fixed compilation err when no AVX is enabled
|
2016-12-12 06:18:57 +00:00 |
|
Stanislav Shwartsman
|
46b4a76cd3
|
fetchdecode rework step 0.1, no impact on correctness, small speedup
|
2016-12-09 12:34:37 +00:00 |
|
Stanislav Shwartsman
|
d9e818cd5d
|
refactoring in the Bochs decoder code
|
2016-09-25 18:19:59 +00:00 |
|
Stanislav Shwartsman
|
8f20cecbae
|
fixed code style in fetchdecode.cc, avoid code duplication
|
2016-09-08 17:29:09 +00:00 |
|
Stanislav Shwartsman
|
b7091b09f6
|
cleanup in fetchdecode functions
|
2016-09-08 15:09:29 +00:00 |
|
Stanislav Shwartsman
|
88637aa9ef
|
fixed potential uninitialized variable access when decoding AVX/XOP/EVEX
|
2016-07-06 09:09:49 +00:00 |
|
Stanislav Shwartsman
|
6761495f7e
|
second step if Bochs decoder refactoring: extracted assign_srcs code to separate methods
|
2016-07-05 20:42:25 +00:00 |
|
Stanislav Shwartsman
|
2a98e7bc63
|
fixed decoder bug introduced in svn rev12927
|
2016-07-05 18:04:23 +00:00 |
|
Stanislav Shwartsman
|
033303399d
|
properly set segment register for 64-bit decode
|
2016-07-03 20:07:16 +00:00 |
|
Stanislav Shwartsman
|
98da36a63f
|
extract decoding of modrm into dedicated function in decoder
|
2016-07-03 19:51:33 +00:00 |
|
Stanislav Shwartsman
|
7a34f00f99
|
extracted fetchdecode into separated folder under cpu and also out of BX_CPU_C class into stand-alone module. Next step: wrap it up nicely and define clear interace to CPU model to minimize dependencies. Ideally I need fetchdecode to not include CPU at all
|
2016-06-12 21:23:48 +00:00 |
|