Commit 9597e209 authored by Alexandre Julliard's avatar Alexandre Julliard

Include instruction emulation in Winelib.

parent 58371aa3
...@@ -10,6 +10,7 @@ C_SRCS = \ ...@@ -10,6 +10,7 @@ C_SRCS = \
environ.c \ environ.c \
global.c \ global.c \
heap.c \ heap.c \
instr.c \
ldt.c \ ldt.c \
local.c \ local.c \
selector.c \ selector.c \
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
DECLARE_DEBUG_CHANNEL(int) DECLARE_DEBUG_CHANNEL(int)
DECLARE_DEBUG_CHANNEL(io) DECLARE_DEBUG_CHANNEL(io)
#ifdef __i386__
#define IS_V86(context) (EFL_sig(context)&V86_FLAG) #define IS_V86(context) (EFL_sig(context)&V86_FLAG)
#define IS_SEL_32(context,seg) \ #define IS_SEL_32(context,seg) \
...@@ -630,14 +631,14 @@ BOOL INSTR_EmulateInstruction( SIGCONTEXT *context ) ...@@ -630,14 +631,14 @@ BOOL INSTR_EmulateInstruction( SIGCONTEXT *context )
DS_sig(context) = seg; DS_sig(context) = seg;
EIP_sig(context) += prefixlen + len + 1; EIP_sig(context) += prefixlen + len + 1;
return TRUE; return TRUE;
case 4:
#ifdef FS_sig #ifdef FS_sig
case 4:
FS_sig(context) = seg; FS_sig(context) = seg;
EIP_sig(context) += prefixlen + len + 1; EIP_sig(context) += prefixlen + len + 1;
return TRUE; return TRUE;
#endif #endif
case 5:
#ifdef GS_sig #ifdef GS_sig
case 5:
GS_sig(context) = seg; GS_sig(context) = seg;
EIP_sig(context) += prefixlen + len + 1; EIP_sig(context) += prefixlen + len + 1;
return TRUE; return TRUE;
...@@ -815,8 +816,7 @@ BOOL INSTR_EmulateInstruction( SIGCONTEXT *context ) ...@@ -815,8 +816,7 @@ BOOL INSTR_EmulateInstruction( SIGCONTEXT *context )
EIP_sig(context) = OFFSETOF( gpHandler ); EIP_sig(context) = OFFSETOF( gpHandler );
return TRUE; return TRUE;
} }
MESSAGE("Unexpected Windows program segfault"
" - opcode = %x\n", *instr);
return FALSE; /* Unable to emulate it */ return FALSE; /* Unable to emulate it */
} }
#endif /* __i386__ */
...@@ -7,7 +7,6 @@ MODULE = miscemu ...@@ -7,7 +7,6 @@ MODULE = miscemu
C_SRCS = \ C_SRCS = \
emulate.c \ emulate.c \
instr.c \
main.c main.c
all: $(MODULE).o all: $(MODULE).o
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment