Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
13df062d
Commit
13df062d
authored
Jan 06, 2009
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
kernel32: #ifdef out some code that is not needed on non-i386.
parent
27bb18a5
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
45 additions
and
90 deletions
+45
-90
instr.c
dlls/kernel32/instr.c
+4
-0
kernel32.spec
dlls/kernel32/kernel32.spec
+24
-24
relay16.c
dlls/kernel32/relay16.c
+2
-23
thunk.c
dlls/kernel32/thunk.c
+4
-40
utthunk.c
dlls/kernel32/utthunk.c
+4
-0
ntoskrnl.c
dlls/ntoskrnl.exe/ntoskrnl.c
+7
-3
No files found.
dlls/kernel32/instr.c
View file @
13df062d
...
...
@@ -23,6 +23,8 @@
#include "config.h"
#include "wine/port.h"
#ifdef __i386__
#include <stdarg.h>
#include "windef.h"
...
...
@@ -928,3 +930,5 @@ FARPROC16 WINAPI GetSetKernelDOSProc16( FARPROC16 DosProc )
FIXME
(
"(DosProc=%p): stub
\n
"
,
DosProc
);
return
NULL
;
}
#endif
/* __i386__ */
dlls/kernel32/kernel32.spec
View file @
13df062d
...
...
@@ -40,27 +40,27 @@
30 stdcall -noname GlobalUnWire16(long)
31 stdcall -noname GlobalFree16(long)
32 stdcall -noname GlobalSize16(long)
33 stdcall -noname HouseCleanLogicallyDeadHandles()
34 stdcall -noname GetWin16DOSEnv()
33 stdcall -noname
-i386
HouseCleanLogicallyDeadHandles()
34 stdcall -noname
-i386
GetWin16DOSEnv()
35 stdcall -noname LoadLibrary16(str)
36 stdcall -noname FreeLibrary16(long)
37 stdcall -noname GetProcAddress16(long str) WIN32_GetProcAddress16
38 stdcall -noname -i386 -register AllocMappedBuffer()
39 stdcall -noname -i386 -register FreeMappedBuffer()
40 stdcall -noname -i386 -register OT_32ThkLSF()
41 stdcall -noname ThunkInitLSF(long str long str str)
41 stdcall -noname
-i386
ThunkInitLSF(long str long str str)
42 stdcall -noname -i386 -register LogApiThkLSF(str)
43 stdcall -noname ThunkInitLS(long str long str str)
43 stdcall -noname
-i386
ThunkInitLS(long str long str str)
44 stdcall -noname -i386 -register LogApiThkSL(str)
45 stdcall -noname -i386 -register Common32ThkLS()
46 stdcall -noname ThunkInitSL(long str long str str)
46 stdcall -noname
-i386
ThunkInitSL(long str long str str)
47 stdcall -noname -i386 -register LogCBThkSL(str)
48 stdcall -noname ReleaseThunkLock(ptr)
49 stdcall -noname RestoreThunkLock(long)
51 stdcall -noname -i386 -register W32S_BackTo32()
52 stdcall -noname GetThunkBuff()
53 stdcall -noname GetThunkStuff(str str)
52 stdcall -noname
-i386
GetThunkBuff()
53 stdcall -noname
-i386
GetThunkStuff(str str)
54 stdcall -noname K32WOWCallback16(long long)
55 stdcall -noname K32WOWCallback16Ex(ptr long long ptr ptr)
56 stdcall -noname K32WOWGetVDMPointer(long long long)
...
...
@@ -94,20 +94,20 @@
84 stdcall -noname -ret64 K32RtlConvertLongToLargeInteger(long) ntdll.RtlConvertLongToLargeInteger
85 stdcall -noname -ret64 K32RtlConvertUlongToLargeInteger(long) ntdll.RtlConvertUlongToLargeInteger
86 stdcall @(ptr) _KERNEL32_86
87 stdcall -noname SSOnBigStack()
88 varargs -noname SSCall(long long ptr)
87 stdcall -noname
-i386
SSOnBigStack()
88 varargs -noname
-i386
SSCall(long long ptr)
89 stdcall -noname -i386 -register FT_PrologPrime()
90 stdcall -noname -i386 -register QT_ThunkPrime()
91 stdcall -noname PK16FNF(ptr)
92 stdcall -noname GetPK16SysVar()
91 stdcall -noname
-i386
PK16FNF(ptr)
92 stdcall -noname
-i386
GetPK16SysVar()
93 stdcall -noname GetpWin16Lock(ptr)
94 stdcall -noname _CheckNotSysLevel(ptr)
95 stdcall -noname _ConfirmSysLevel(ptr)
96 stdcall -noname _ConfirmWin16Lock()
97 stdcall -noname _EnterSysLevel(ptr)
98 stdcall -noname _LeaveSysLevel(ptr)
99 stdcall @(long) _KERNEL32_99
100 stdcall @(long long long) _KERNEL32_100
99 stdcall
-i386
@(long) _KERNEL32_99
100 stdcall
-i386
@(long long long) _KERNEL32_100
101 stub @
102 stub @
103 stub @
...
...
@@ -143,8 +143,8 @@
@ stdcall AddRefActCtx(ptr)
@ stdcall AddVectoredExceptionHandler(long ptr) ntdll.RtlAddVectoredExceptionHandler
@ stdcall AllocConsole()
@ stub AllocLSCallback
@ stdcall AllocSLCallback(ptr ptr)
@ stub
-i386
AllocLSCallback
@ stdcall
-i386
AllocSLCallback(ptr ptr)
@ stub AllocateUserPhysicalPages
@ stdcall AreFileApisANSI()
@ stdcall AssignProcessToJobObject(ptr ptr)
...
...
@@ -415,11 +415,11 @@
@ stdcall FreeLibrary(long)
@ stdcall FreeLibraryAndExitThread(long long)
@ stdcall FreeResource(long)
@ stdcall FreeSLCallback(long)
@ stdcall
-i386
FreeSLCallback(long)
@ stub FreeUserPhysicalPages
@ stub FreeVirtualBuffer
@ stdcall GenerateConsoleCtrlEvent(long long)
@ stdcall Get16DLLAddress(long str)
@ stdcall
-i386
Get16DLLAddress(long str)
@ stdcall GetACP()
@ stdcall GetAtomNameA(long ptr long)
@ stdcall GetAtomNameW(long ptr long)
...
...
@@ -1082,7 +1082,7 @@
@ stdcall TermsrvAppInstallMode()
@ stdcall Thread32First(long ptr)
@ stdcall Thread32Next(long ptr)
@ stdcall ThunkConnect32(ptr str str str ptr ptr)
@ stdcall
-i386
ThunkConnect32(ptr str str str ptr ptr)
@ stdcall TlsAlloc()
@ stub TlsAllocInternal
@ stdcall TlsFree(long)
...
...
@@ -1095,8 +1095,8 @@
@ stub TrimVirtualBuffer
@ stdcall TryEnterCriticalSection(ptr) ntdll.RtlTryEnterCriticalSection
@ stdcall TzSpecificLocalTimeToSystemTime(ptr ptr ptr)
@ stdcall UTRegister(long str str str ptr ptr ptr)
@ stdcall UTUnRegister(long)
@ stdcall
-i386
UTRegister(long str str str ptr ptr ptr)
@ stdcall
-i386
UTUnRegister(long)
@ stdcall UnMapLS(long)
@ stdcall -i386 -norelay UnMapSLFixArray(long long)
@ stdcall UnhandledExceptionFilter(ptr)
...
...
@@ -1251,10 +1251,10 @@
# or 'wine_' (for user-visible functions) to avoid namespace conflicts.
# 16-bit relays
@ cdecl __wine_dll_register_16(ptr str)
@ cdecl __wine_dll_unregister_16(ptr)
@ varargs -private __wine_call_from_16_regs()
@ cdecl __wine_emulate_instruction(ptr ptr)
@ cdecl
-i386
__wine_dll_register_16(ptr str)
@ cdecl
-i386
__wine_dll_unregister_16(ptr)
@ varargs -
i386 -
private __wine_call_from_16_regs()
@ cdecl
-i386
__wine_emulate_instruction(ptr ptr)
# Unix files
@ cdecl wine_get_unix_file_name(wstr)
...
...
dlls/kernel32/relay16.c
View file @
13df062d
...
...
@@ -20,6 +20,8 @@
#include "config.h"
#include "wine/port.h"
#ifdef __i386__
#include <assert.h>
#include <stdlib.h>
#include <string.h>
...
...
@@ -38,8 +40,6 @@
WINE_DEFAULT_DEBUG_CHANNEL
(
relay
);
#ifdef __i386__
static
const
WCHAR
**
debug_relay_excludelist
;
static
const
WCHAR
**
debug_relay_includelist
;
static
const
WCHAR
**
debug_snoop_excludelist
;
...
...
@@ -569,25 +569,4 @@ int relay_call_from_16( void *entry_point, unsigned char *args16, CONTEXT86 *con
return
ret_val
;
}
#else
/* __i386__ */
/*
* Stubs for the CallTo16/CallFrom16 routines on non-Intel architectures
* (these will never be called but need to be present to satisfy the linker ...)
*/
/***********************************************************************
* __wine_call_from_16_regs (KERNEL32.@)
*/
void
__wine_call_from_16_regs
(
void
)
{
assert
(
FALSE
);
}
DWORD
WINAPI
CALL32_CBClient
(
FARPROC
proc
,
LPWORD
args
,
DWORD
*
esi
)
{
assert
(
FALSE
);
}
DWORD
WINAPI
CALL32_CBClientEx
(
FARPROC
proc
,
LPWORD
args
,
DWORD
*
esi
,
INT
*
nArgs
)
{
assert
(
FALSE
);
}
#endif
/* __i386__ */
dlls/kernel32/thunk.c
View file @
13df062d
...
...
@@ -31,6 +31,8 @@
# include <unistd.h>
#endif
#ifdef __i386__
#include "windef.h"
#include "winbase.h"
#include "winerror.h"
...
...
@@ -147,11 +149,7 @@ struct SLApiDB
SEGPTR
CALL32_CBClient_RetAddr
=
0
;
SEGPTR
CALL32_CBClientEx_RetAddr
=
0
;
#ifdef __i386__
extern
void
__wine_call_from_16_thunk
();
#else
static
void
__wine_call_from_16_thunk
()
{
}
#endif
/* Push a DWORD on the 32-bit stack */
static
inline
void
stack32_push
(
CONTEXT86
*
context
,
DWORD
val
)
...
...
@@ -191,9 +189,7 @@ void WINAPI __regs_LogApiThkLSF( LPSTR func, CONTEXT86 *context )
{
TRACE
(
"%s
\n
"
,
debugstr_a
(
func
)
);
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
LogApiThkLSF
,
1
)
#endif
/***********************************************************************
* LogApiThkSL (KERNEL32.44)
...
...
@@ -204,9 +200,7 @@ void WINAPI __regs_LogApiThkSL( LPSTR func, CONTEXT86 *context )
{
TRACE
(
"%s
\n
"
,
debugstr_a
(
func
)
);
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
LogApiThkSL
,
1
)
#endif
/***********************************************************************
* LogCBThkSL (KERNEL32.47)
...
...
@@ -217,9 +211,7 @@ void WINAPI __regs_LogCBThkSL( LPSTR func, CONTEXT86 *context )
{
TRACE
(
"%s
\n
"
,
debugstr_a
(
func
)
);
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
LogCBThkSL
,
1
)
#endif
/***********************************************************************
* Generates a FT_Prolog call.
...
...
@@ -486,9 +478,7 @@ void WINAPI __regs_QT_Thunk( CONTEXT86 *context )
context
->
Esp
+=
LOWORD
(
context16
.
Esp
)
-
(
OFFSETOF
(
NtCurrentTeb
()
->
WOW32Reserved
)
-
argsize
);
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
QT_Thunk
,
0
)
#endif
/**********************************************************************
...
...
@@ -554,9 +544,7 @@ void WINAPI __regs_FT_Prolog( CONTEXT86 *context )
*
(
DWORD
*
)(
context
->
Ebp
-
48
)
=
context
->
Eax
;
*
(
DWORD
*
)(
context
->
Ebp
-
52
)
=
context
->
Edx
;
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
FT_Prolog
,
0
)
#endif
/**********************************************************************
* FT_Thunk (KERNEL32.@)
...
...
@@ -622,11 +610,7 @@ void WINAPI __regs_FT_Thunk( CONTEXT86 *context )
/* Copy modified buffers back to 32-bit stack */
memcpy
(
oldstack
,
newstack
,
argsize
);
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
FT_Thunk
,
0
)
#endif
#ifdef __i386__
/***********************************************************************
* FT_Exit0 (KERNEL32.@)
...
...
@@ -679,8 +663,6 @@ DEFINE_FT_Exit(48)
DEFINE_FT_Exit
(
52
)
DEFINE_FT_Exit
(
56
)
#endif
/* __i386__ */
/***********************************************************************
* ThunkInitLS (KERNEL32.43)
...
...
@@ -778,9 +760,7 @@ void WINAPI __regs_Common32ThkLS( CONTEXT86 *context )
/* Clean up caller's stack frame */
context
->
Esp
+=
LOBYTE
(
context16
.
Ebx
);
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
Common32ThkLS
,
0
)
#endif
/***********************************************************************
* OT_32ThkLSF (KERNEL32.40)
...
...
@@ -835,9 +815,7 @@ void WINAPI __regs_OT_32ThkLSF( CONTEXT86 *context )
context
->
Esp
+=
LOWORD
(
context16
.
Esp
)
-
(
OFFSETOF
(
NtCurrentTeb
()
->
WOW32Reserved
)
-
argsize
);
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
OT_32ThkLSF
,
0
)
#endif
/***********************************************************************
* ThunkInitLSF (KERNEL32.41)
...
...
@@ -937,9 +915,7 @@ void WINAPI __regs_FT_PrologPrime( CONTEXT86 *context )
/* Jump to the call stub just created */
context
->
Eip
=
(
DWORD
)
relayCode
;
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
FT_PrologPrime
,
0
)
#endif
/***********************************************************************
* QT_ThunkPrime (KERNEL32.90)
...
...
@@ -969,9 +945,7 @@ void WINAPI __regs_QT_ThunkPrime( CONTEXT86 *context )
/* Jump to the call stub just created */
context
->
Eip
=
(
DWORD
)
relayCode
;
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
QT_ThunkPrime
,
0
)
#endif
/***********************************************************************
* ThunkInitSL (KERNEL32.46)
...
...
@@ -1112,9 +1086,7 @@ void WINAPI __regs_W32S_BackTo32( CONTEXT86 *context )
context
->
Eip
=
stack32_pop
(
context
);
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
W32S_BackTo32
,
0
)
#endif
/**********************************************************************
* AllocSLCallback (KERNEL32.@)
...
...
@@ -1229,9 +1201,7 @@ void WINAPI __regs_AllocMappedBuffer(
context
->
Edi
=
(
DWORD
)(
buffer
+
2
);
}
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
AllocMappedBuffer
,
0
)
#endif
/**********************************************************************
* FreeMappedBuffer (KERNEL32.39)
...
...
@@ -1254,9 +1224,7 @@ void WINAPI __regs_FreeMappedBuffer(
GlobalFree
((
HGLOBAL
)
buffer
[
0
]);
}
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
FreeMappedBuffer
,
0
)
#endif
/**********************************************************************
* GetTEBSelectorFS (KERNEL.475)
...
...
@@ -1362,9 +1330,7 @@ void WINAPI __regs_K32Thk1632Prolog( CONTEXT86 *context )
been called. Thus we re-use it to hold the Win16Lock count */
ReleaseThunkLock
(
&
CURRENT_STACK16
->
entry_point
);
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
K32Thk1632Prolog
,
0
)
#endif
/***********************************************************************
* K32Thk1632Epilog (KERNEL32.@)
...
...
@@ -1399,9 +1365,7 @@ void WINAPI __regs_K32Thk1632Epilog( CONTEXT86 *context )
context
->
Ebp
,
context
->
Esp
,
NtCurrentTeb
()
->
WOW32Reserved
);
}
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
K32Thk1632Epilog
,
0
)
#endif
/*********************************************************************
* PK16FNF [KERNEL32.91]
...
...
@@ -2211,9 +2175,7 @@ void WINAPI __regs_CommonUnimpStub( CONTEXT86 *context )
context
->
Esp
+=
(
context
->
Ecx
&
0x0f
)
*
4
;
}
#ifdef DEFINE_REGS_ENTRYPOINT
DEFINE_REGS_ENTRYPOINT
(
CommonUnimpStub
,
0
)
#endif
/**********************************************************************
* HouseCleanLogicallyDeadHandles (KERNEL32.33)
...
...
@@ -2556,3 +2518,5 @@ DWORD WINAPIV WOW16Call(WORD x, WORD y, WORD z, VA_LIST16 args)
DPRINTF
(
") calling address was 0x%08x
\n
"
,
calladdr
);
return
0
;
}
#endif
/* __i386__ */
dlls/kernel32/utthunk.c
View file @
13df062d
...
...
@@ -18,6 +18,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifdef __i386__
#include <stdarg.h>
#include "wine/winbase16.h"
...
...
@@ -323,3 +325,5 @@ WORD WINAPI UTInit16( DWORD x1, DWORD x2, DWORD x3, DWORD x4 )
FIXME
(
"(%08x, %08x, %08x, %08x): stub
\n
"
,
x1
,
x2
,
x3
,
x4
);
return
0
;
}
#endif
/* __i386__ */
dlls/ntoskrnl.exe/ntoskrnl.c
View file @
13df062d
...
...
@@ -117,16 +117,20 @@ static HANDLE get_device_manager(void)
/* exception handler for emulation of privileged instructions */
static
LONG
CALLBACK
vectored_handler
(
EXCEPTION_POINTERS
*
ptrs
)
{
extern
DWORD
__wine_emulate_instruction
(
EXCEPTION_RECORD
*
rec
,
CONTEXT86
*
context
);
EXCEPTION_RECORD
*
record
=
ptrs
->
ExceptionRecord
;
CONTEXT
86
*
context
=
ptrs
->
ContextRecord
;
CONTEXT
*
context
=
ptrs
->
ContextRecord
;
if
(
record
->
ExceptionCode
==
EXCEPTION_ACCESS_VIOLATION
||
record
->
ExceptionCode
==
EXCEPTION_PRIV_INSTRUCTION
)
{
#ifdef __i386__
extern
DWORD
__wine_emulate_instruction
(
EXCEPTION_RECORD
*
rec
,
CONTEXT
*
context
);
if
(
__wine_emulate_instruction
(
record
,
context
)
==
ExceptionContinueExecution
)
return
EXCEPTION_CONTINUE_EXECUTION
;
#else
FIXME
(
"Privileged instruction emulation not implemented on this CPU
\n
"
);
#endif
}
return
EXCEPTION_CONTINUE_SEARCH
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment