Bochs/bochs/cpu
Stanislav Shwartsman 1e71c9e56e Merged patch-unallowed-lock-cases patch.
According to the Intel manuals:

  The  LOCK  prefix  can be prepended only to the following instructions
  and  only  to  those  forms  of the instructions where the destination
  operand  is  a  memory operand: ADD, ADC, AND, BTC, BTR, BTS, CMPXCHG,
  CMPXCH8B,  DEC,  INC,  NEG, NOT, OR, SBB, SUB, XOR, XADD, and XCHG. If
  the  LOCK prefix is used with one of these instructions and the source
  operand  is a memory operand, an undefined opcode exception (#UD) will
  be  generated. An undefined opcode exception will also be generated if
  the  LOCK  prefix  is used with any instruction not in the above list.

 Checking of the LOCK prefix done in fetchDecode state and not overloads
 Bochs's execution.
2003-04-05 12:16:53 +00:00
..
access.cc x86-64 emulation. 2003-03-13 00:37:40 +00:00
apic.cc - fix a "too many arguments for format" warning 2003-01-22 21:43:34 +00:00
arith8.cc This was not a cleanup. Those macros were intentionally 2002-10-25 18:26:29 +00:00
arith16.cc This was not a cleanup. Those macros were intentionally 2002-10-25 18:26:29 +00:00
arith32.cc Merged patch-unallowed-lock-cases patch. 2003-04-05 12:16:53 +00:00
arith64.cc - apply patch.ifdef-disabled-options. Comments from that patch are below: 2002-11-19 05:47:45 +00:00
bcd.cc Updated accessing of modrm/sib addressing information to 2002-09-17 22:50:53 +00:00
bit.cc This was not a cleanup. Those macros were intentionally 2002-10-25 18:26:29 +00:00
cpu.cc - add __attribute__((regparm(X))) performance trick with gcc on x86 2003-03-17 00:41:01 +00:00
cpu.h Merged patch-unallowed-lock-cases patch. 2003-04-05 12:16:53 +00:00
ctrl_xfer8.cc instrumentation enchancements: 2003-02-13 15:04:11 +00:00
ctrl_xfer16.cc instrumentation enchancements: 2003-02-13 15:04:11 +00:00
ctrl_xfer32.cc instrumentation enchancements: 2003-02-13 15:04:11 +00:00
ctrl_xfer64.cc x86-64 Update - Fixed bad JMP far indirect 2003-03-13 00:43:00 +00:00
ctrl_xfer_pro.cc - apply Conn Clark's patch.perf-regparm-cclark : 2003-03-02 23:59:12 +00:00
data_xfer8.cc This was not a cleanup. Those macros were intentionally 2002-10-25 18:26:29 +00:00
data_xfer16.cc #UD exception should be generated when using MOV_SwEw opcode for 2003-03-21 13:34:24 +00:00
data_xfer32.cc This was not a cleanup. Those macros were intentionally 2002-10-25 18:26:29 +00:00
data_xfer64.cc - apply patch.ifdef-disabled-options. Comments from that patch are below: 2002-11-19 05:47:45 +00:00
debugstuff.cc - add #ifs around use of cr0-4, which didn't all exist on earlier cpus 2002-10-27 15:15:12 +00:00
exception.cc x64-64 emulation updates. 2003-02-26 02:48:12 +00:00
extdb.cc fix for BX_CPU_LEVEL < 4 2003-02-26 02:35:11 +00:00
extdb.h Replaced tabs in cpu/*.{cc,h} files with spaces. 2002-10-04 17:04:33 +00:00
fetchdecode64.cc Merged patch-unallowed-lock-cases patch. 2003-04-05 12:16:53 +00:00
fetchdecode.cc Merged patch-unallowed-lock-cases patch. 2003-04-05 12:16:53 +00:00
flag_ctrl_pro.cc - apply Conn Clark's patch.perf-regparm-cclark : 2003-03-02 23:59:12 +00:00
flag_ctrl.cc x86-64 emulation 2003-03-13 00:49:20 +00:00
i387.h Save/Restore FPU TOP-OF-STACK in FXSAVE/FXRSTOR instructions 2003-01-23 18:33:35 +00:00
init.cc Added bx_cpuid value to the BX_CPU class to avoid any problems with BX_CPU_ID implementation 2003-02-13 15:51:22 +00:00
io_pro.cc - apply Conn Clark's patch.perf-regparm-cclark : 2003-03-02 23:59:12 +00:00
io.cc Add plugin support to Bochs by merging all the changes from the 2002-10-24 21:07:56 +00:00
lazy_flags.cc - Apply patch.replace-Boolean rev 1.3. Every "Boolean" is now changed to a 2002-10-25 11:44:41 +00:00
lazy_flags.h - Apply patch.replace-Boolean rev 1.3. Every "Boolean" is now changed to a 2002-10-25 11:44:41 +00:00
logical8.cc This was not a cleanup. Those macros were intentionally 2002-10-25 18:26:29 +00:00
logical16.cc This was not a cleanup. Those macros were intentionally 2002-10-25 18:26:29 +00:00
logical32.cc This was not a cleanup. Those macros were intentionally 2002-10-25 18:26:29 +00:00
logical64.cc - apply patch.ifdef-disabled-options. Comments from that patch are below: 2002-11-19 05:47:45 +00:00
Makefile.in Recommitted SSE code reorganization. 2002-12-22 20:13:00 +00:00
mmx.cc Changed MMX/SSE/SSE2 diagnostic messages to be more informative 2003-03-21 20:33:23 +00:00
mult8.cc - Apply patch.replace-Boolean rev 1.3. Every "Boolean" is now changed to a 2002-10-25 11:44:41 +00:00
mult16.cc - Apply patch.replace-Boolean rev 1.3. Every "Boolean" is now changed to a 2002-10-25 11:44:41 +00:00
mult32.cc - Apply patch.replace-Boolean rev 1.3. Every "Boolean" is now changed to a 2002-10-25 11:44:41 +00:00
mult64.cc - apply patch.ifdef-disabled-options. Comments from that patch are below: 2002-11-19 05:47:45 +00:00
paging.cc - apply Conn Clark's patch.perf-regparm-cclark : 2003-03-02 23:59:12 +00:00
proc_ctrl.cc instrumentation enchancements: 2003-02-13 15:04:11 +00:00
protect_ctrl_pro.cc - add RCS Id to header of every file. This makes it easier to know what's 2001-10-03 13:10:38 +00:00
protect_ctrl.cc add some debugging info for 64 bit mode. 2003-02-26 02:24:15 +00:00
resolve16.cc - add __attribute__((regparm(X))) performance trick with gcc on x86 2003-03-17 00:41:01 +00:00
resolve32.cc - add __attribute__((regparm(X))) performance trick with gcc on x86 2003-03-17 00:41:01 +00:00
resolve64.cc - add __attribute__((regparm(X))) performance trick with gcc on x86 2003-03-17 00:41:01 +00:00
segment_ctrl_pro.cc - apply Conn Clark's patch.perf-regparm-cclark : 2003-03-02 23:59:12 +00:00
segment_ctrl.cc Moved the EFLAGS.RF check and clearing of inhibit_mask code 2002-09-20 03:52:59 +00:00
shift8.cc This was not a cleanup. Those macros were intentionally 2002-10-25 18:26:29 +00:00
shift16.cc This was not a cleanup. Those macros were intentionally 2002-10-25 18:26:29 +00:00
shift32.cc This was not a cleanup. Those macros were intentionally 2002-10-25 18:26:29 +00:00
shift64.cc - apply patch.ifdef-disabled-options. Comments from that patch are below: 2002-11-19 05:47:45 +00:00
soft_int.cc When external debugger enabled, change INT1 to be 2003-02-26 00:53:38 +00:00
sse_move.cc Changed MMX/SSE/SSE2 diagnostic messages to be more informative 2003-03-21 20:33:23 +00:00
sse_pfp.cc Changed MMX/SSE/SSE2 diagnostic messages to be more informative 2003-03-21 20:33:23 +00:00
sse.cc Changed MMX/SSE/SSE2 diagnostic messages to be more informative 2003-03-21 20:33:23 +00:00
stack16.cc - add __attribute__((regparm(X))) performance trick with gcc on x86 2003-03-17 00:41:01 +00:00
stack32.cc - add __attribute__((regparm(X))) performance trick with gcc on x86 2003-03-17 00:41:01 +00:00
stack64.cc - add __attribute__((regparm(X))) performance trick with gcc on x86 2003-03-17 00:41:01 +00:00
stack_pro.cc - apply Conn Clark's patch.perf-regparm-cclark : 2003-03-02 23:59:12 +00:00
string.cc Add plugin support to Bochs by merging all the changes from the 2002-10-24 21:07:56 +00:00
tasking.cc instrumentation enchancements: 2003-02-13 15:04:11 +00:00
vm8086.cc Moved more separate fields in the bxInstruction_c into bitfields 2002-09-18 05:36:48 +00:00
xmm.h - apply Conn Clark's patch.perf-regparm-cclark : 2003-03-02 23:59:12 +00:00