Bochs/bochs/cpu
Stanislav Shwartsman cc694377b9 Standartization of Bochs instruction handlers.
Bochs instruction emulation handlers won't refer to direct fields of instructions like MODRM.NNN or MODRM.RM anymore.
Use generic source/destination indications like SRC1, SRC2 and DST.
All handlers are modified to support new notation. In addition fetchDecode module was modified to assign sources to instructions properly.

Immediate benefits:
- Removal of several duplicated handlers (FMA3 duplicated with FMA4 is a trivial example)
- Simpler to understand fetch-decode code

Future benefits:
- Integration of disassembler into Bochs CPU module, ability to disasm bx_instruction_c instance (planned)

Huge patch. Almost all source files wre modified.
2012-08-05 13:52:40 +00:00
..
cpudb - missing SHELL fixes 2012-07-14 07:13:56 +00:00
3dnow.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
access32.cc bx_instr_mem_data_access became completely obsolete with new stack optimization merged into SVN. 2012-04-11 19:01:25 +00:00
access64.cc bx_instr_mem_data_access became completely obsolete with new stack optimization merged into SVN. 2012-04-11 19:01:25 +00:00
access.cc fixed a lot of code duplication in debugging/instrumentation of mem access 2012-03-20 18:26:04 +00:00
aes.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
apic.cc fixed valgrind issues in apic initialization and generic cpuid reported in SF bug report 2012-06-04 14:27:34 +00:00
apic.h fixed valgrind issues in apic initialization and generic cpuid reported in SF bug report 2012-06-04 14:27:34 +00:00
arith8.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
arith16.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
arith32.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
arith64.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
avx2.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
avx_fma.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
avx_pfp.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
avx.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
bcd.cc reword all the CPU code in preparation for future CPU speedup implementation. 2011-07-06 20:01:18 +00:00
bit16.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
bit32.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
bit64.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
bit.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
bmi32.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
bmi64.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
call_far.cc stack direct access optimization - 5% emu speedup to all 32-bit guests, for 64-bit guests speedup is less because they have less stack accesses 2012-03-25 11:54:32 +00:00
cpu.cc improve x86 hw breakpoint handling 2012-07-11 15:07:54 +00:00
cpu.h Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
cpuid.h implemented ADCX/ADOX instructions from rev013 of arch extensions published by Intel 2012-07-12 14:51:54 +00:00
crc32.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
crregs.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
crregs.h improve x86 hw breakpoint handling 2012-07-11 15:07:54 +00:00
ctrl_xfer16.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
ctrl_xfer32.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
ctrl_xfer64.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
ctrl_xfer_pro.cc - Do not compile support for alignment check (#AC exception) by default 2012-03-25 19:07:17 +00:00
data_xfer8.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
data_xfer16.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
data_xfer32.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
data_xfer64.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
debugstuff.cc fixed segfault when setting ESP/EIP in GUI debugger 2012-04-16 19:18:23 +00:00
descriptor.h fixed 64-bit segment print from internal debugger 2012-06-14 18:56:47 +00:00
event.cc fixed bug produced by SVN commit rev11299 - missed case to clean 2012-08-02 20:43:14 +00:00
exception.cc fixed bug 3548108 VMEXIT instruction length Not always getting updated 2012-07-26 16:03:26 +00:00
fetchdecode64.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
fetchdecode_avx.h Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
fetchdecode_sse.h Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
fetchdecode_x87.h expand FCMOV function to 8 different functions - each one is much simpler to implement and understand 2012-02-01 12:07:53 +00:00
fetchdecode_xop.h Major commit ! 2012-02-13 23:29:01 +00:00
fetchdecode.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
fetchdecode.h Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
flag_ctrl_pro.cc - Do not compile support for alignment check (#AC exception) by default 2012-03-25 19:07:17 +00:00
flag_ctrl.cc - Implemented Task Switch intercept in SVM, cleanup in task switch handling code 2012-01-11 20:21:29 +00:00
fpu_emu.cc reword all the CPU code in preparation for future CPU speedup implementation. 2011-07-06 20:01:18 +00:00
gather.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
generic_cpuid.cc implemented ADCX/ADOX instructions from rev013 of arch extensions published by Intel 2012-07-12 14:51:54 +00:00
generic_cpuid.h remove unused leafs from generic_cpuid 2012-05-11 06:51:04 +00:00
i387.h Adding Id and Rev property to all files 2011-02-24 21:54:04 +00:00
ia_opcodes.h Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
icache.cc fixed VMX issue + small code reorg 2012-03-13 15:18:21 +00:00
icache.h set max trace length back to 32 2011-08-21 16:44:02 +00:00
init.cc fixed uninitialized variables 2012-06-24 17:52:45 +00:00
instr.h Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
io.cc updated + fixed instrumentation example for instr histogram, code cleanup in the cpu 2012-03-28 21:11:19 +00:00
iret.cc stack direct access optimization - 5% emu speedup to all 32-bit guests, for 64-bit guests speedup is less because they have less stack accesses 2012-03-25 11:54:32 +00:00
jmp_far.cc - Implemented Task Switch intercept in SVM, cleanup in task switch handling code 2012-01-11 20:21:29 +00:00
lazy_flags.h implemented ADCX/ADOX instructions from rev013 of arch extensions published by Intel 2012-07-12 14:51:54 +00:00
load.cc very small cleanup 2012-05-05 18:40:37 +00:00
logical8.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
logical16.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
logical32.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
logical64.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
Makefile.in fixed link error with no x86-64 2012-07-14 08:45:43 +00:00
mmx.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
msr.cc fixed bug 3548108 VMEXIT instruction length Not always getting updated 2012-07-26 16:03:26 +00:00
mult8.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
mult16.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
mult32.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
mult64.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
paging.cc fixed bug 3548108 VMEXIT instruction length Not always getting updated 2012-07-26 16:03:26 +00:00
proc_ctrl.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
protect_ctrl.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
resolver.cc Adding Id and Rev property to all files 2011-02-24 21:54:04 +00:00
ret_far.cc stack direct access optimization - 5% emu speedup to all 32-bit guests, for 64-bit guests speedup is less because they have less stack accesses 2012-03-25 11:54:32 +00:00
segment_ctrl_pro.cc - Do not compile support for alignment check (#AC exception) by default 2012-03-25 19:07:17 +00:00
segment_ctrl.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
shift8.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
shift16.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
shift32.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
shift64.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
simd_compare.h Major commit ! 2012-02-13 23:29:01 +00:00
simd_int.h implemented PERMIL2PS/PERMIL2PD XOP instructions 2011-10-20 17:37:57 +00:00
simd_pfp.h added FMA4 AMD instructions support, fixed mem access length for Intel scalar FMA instructions 2011-10-07 14:09:35 +00:00
smm.cc fixed typo-like bug in smm.cc 2012-08-01 14:56:51 +00:00
smm.h Fixed SF bug [3548109] VMX State Not Restored After Entering SMM on 32-bit Systems 2012-07-27 08:13:39 +00:00
soft_int.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
sse_move.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
sse_pfp.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
sse_rcp.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
sse_string.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
sse.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
stack16.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
stack32.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
stack64.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
stack.cc updated + fixed instrumentation example for instr histogram, code cleanup in the cpu 2012-03-28 21:11:19 +00:00
stack.h stack direct access optimization - 5% emu speedup to all 32-bit guests, for 64-bit guests speedup is less because they have less stack accesses 2012-03-25 11:54:32 +00:00
string.cc updated + fixed instrumentation example for instr histogram, code cleanup in the cpu 2012-03-28 21:11:19 +00:00
svm.cc add new instrumentation callbacks for physical memory access from CPU 2012-06-18 11:41:26 +00:00
svm.h Major commit ! 2012-02-13 23:29:01 +00:00
tasking.cc fixed bug 3548108 VMEXIT instruction length Not always getting updated 2012-07-26 16:03:26 +00:00
tbm32.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
tbm64.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
todo Major commit ! 2012-02-13 23:29:01 +00:00
vm8086.cc - Do not compile support for alignment check (#AC exception) by default 2012-03-25 19:07:17 +00:00
vmcs.cc Implemented EPT A/D extensions support. 2012-05-02 18:11:39 +00:00
vmexit.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
vmfunc.cc Fixed SF bug [3548109] VMX State Not Restored After Entering SMM on 32-bit Systems 2012-07-27 08:13:39 +00:00
vmx.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
vmx.h Intel Architecture 2012-07-11 18:58:00 +00:00
xmm.h Implemented AMDs Buldozer XOP and TBM extensions. 2011-10-19 20:54:04 +00:00
xop.cc Standartization of Bochs instruction handlers. 2012-08-05 13:52:40 +00:00
xsave.cc Fixed SF bug [3548109] VMX State Not Restored After Entering SMM on 32-bit Systems 2012-07-27 08:13:39 +00:00