Commit Graph

27 Commits

Author SHA1 Message Date
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