Commit Graph

58 Commits

Author SHA1 Message Date
Alexandre Julliard 068cedc7f2 kernel: Reimplemented the MapHInst functions in assembly. 2006-01-13 14:29:30 +01:00
Alexandre Julliard ae964ac801 Take advantage of the __EXCEPT_PAGE_FAULT macro. 2005-12-16 17:17:57 +01:00
Alexandre Julliard db7920bb44 We no longer need to handle EXCEPTION_PRIV_INSTRUCTION on page faults. 2005-12-16 16:37:12 +01:00
Alexandre Julliard 9f859692f9 Replace DPRINTF by TRACE in a few places. 2005-09-25 15:23:21 +00:00
Alexandre Julliard 96508ad686 Moved return value handling to the individual relay thunks so that we
only need one version of wine_call_from_16.
Patch the wine_call_from_16 address along with the cs value directly
in the 16-bit code segment to avoid the need for special magic in the
import thunks.
2005-09-18 12:25:22 +00:00
Alexandre Julliard c6b005ac69 Fixed some more traces to use the right printf format and avoid
typecasts.
2005-09-12 14:12:46 +00:00
Mike McCormack fe1ec78841 Fix gcc 4.0 warnings. 2005-09-08 11:04:53 +00:00
Alex Villacís Lasso 7a843c668e Check against NULL libname in LoadModule16. 2005-09-06 11:40:51 +00:00
Felix Nawothnig f633a5ccf7 Convert long to short path in GetModuleFileName16. 2005-07-22 09:03:14 +00:00
Alexandre Julliard 2b33634018 Intercept functions for 16-bit relay debugging by patching the
CALLFROM16 table instead of having the wine_call_from_16 functions
call out the relay functions explicitly.
2005-07-05 12:52:07 +00:00
Mike McCormack 405ac7a80c - don't include winreg.h
- include kernel_private.h to get declaration for convert_old_config()
2005-06-20 10:40:37 +00:00
Alexandre Julliard 0f079d7858 Moved the kernel per-thread data out of the TEB into a private
structure stored in TEB.SystemReserved1.
2005-06-06 20:00:14 +00:00
Alexandre Julliard 5c819a9895 Support unloading 16-bit builtin modules, and properly manage the
refcount of the 32-bit owner module.
2005-05-23 12:15:26 +00:00
Alexandre Julliard 70d0439905 Moved the generated code segment for 16-bit builtins inside the module
structure.
Get rid of the BUILTIN16_DESCRIPTOR structure and directly register
the MZ header instead.
2005-05-23 12:07:15 +00:00
Alexandre Julliard 1970e467d4 Generate 16-bit resources in the proper format inside the module data,
and get rid of the special case for builtins in NE_DefResourceHandler.
2005-05-20 19:19:01 +00:00
Alexandre Julliard 3d5c3609c7 Renamed __wine_(un)register_dll_16 to __wine_dll_(un)register_16 for
consistency with the 32-bit version, and also make the register
function use the same prototype as the 32-bit one.
2005-05-19 12:44:31 +00:00
Alexandre Julliard 8eb1630ce1 Use a memory mapping instead of file I/O to load 16-bit modules. 2005-05-19 12:05:28 +00:00
Alexandre Julliard 67204137ee Generate the 16-bit module header in the standard on-disk format, so
that winebuild doesn't need to know about kernel internal structures.
2005-05-18 18:21:59 +00:00
Alexandre Julliard f624b48f48 Split the module building functionality of NE_LoadExeHeader into
separate functions.
2005-05-18 17:48:28 +00:00
Alexandre Julliard 964b7fb14d Changed SNOOP16_RegisterDLL to take a module handle instead of
pointer. Moved snoop function prototypes to kernel16_private.h.
2005-05-18 09:58:43 +00:00
Alexandre Julliard 4417574d2c Renamed some fields in NE_MODULE to use the same name as in the
exported IMAGE_OS2_HEADER structure.
2005-05-17 14:36:09 +00:00
Alexandre Julliard e8a23c9572 Use the exported IMAGE_OS2_HEADER to generate the module header in the
spec file, and moved the NE_MODULE structure definition to
kernel16_private.h.
2005-05-17 10:21:29 +00:00
Alexandre Julliard 4776085c9c Moved a bunch of definitions out of module.h into a new
kernel16_private.h header.
2005-05-16 19:44:54 +00:00
Alexandre Julliard 19bfcd3533 Moved the remaining stack frame definitions to kernel_private.h and
removed stackframe.h.
2005-05-16 14:45:18 +00:00
Alexandre Julliard 95086f45a4 Moved data structures for 16-bit relay calls to winbase16.h and
removed builtin16.h.
2005-05-16 09:19:18 +00:00
Alexandre Julliard d876893fc1 Store the 16-bit stack pointer in the WOW32Reserved TEB field. 2005-05-14 12:16:46 +00:00
Alexandre Julliard 2c7a248055 Converted all the kernel32 register functions to the
DEFINE_REGS_ENTRYPOINT mechanism.
2005-05-07 18:25:51 +00:00
Alexandre Julliard 09e00cf412 Better handling of 16-bit native dlls when a 32-bit builtin with the
same name exists; should help with the 16-bit cards.dll issue.
Replace some magic error numbers by the corresponding names.
2005-03-30 10:31:33 +00:00
Rein Klazes 0ed059cd77 Support execution of pif files. 2005-03-07 19:24:43 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Jon Griffiths 873cd009d0 Remove unneeded headers to reduce unneeded rebuilds. 2004-12-15 10:54:44 +00:00
Francois Gouget 40692f2aa4 There is no point making '--register' functions stdcall so just
implement them as cdecl.
2004-10-22 19:55:14 +00:00
Andreas Mohr 85b06836a5 Don't reject OS/2 programs, try to carry on in DOS mode. 2004-09-10 21:16:02 +00:00
Hans Leidekker 9baafec900 Fix signed/unsigned comparison warnings. 2004-08-10 23:43:21 +00:00
Marcus Meissner 751e991210 Fixed some illegal lvalue casts / increments. 2004-06-16 19:02:11 +00:00
Eric Pouech df93f2eeee GetModuleFileName[AW] doesn't terminate the string if the buffer is
too small.
2004-05-19 03:22:55 +00:00
Mike McCormack 1cf04bd70a Fix builtin NE module refcounting of 32bit parent. 2004-03-30 20:37:33 +00:00
Alexandre Julliard 8045ad5c0e Removed some unnecessary definitions from file.h.
Got rid of drive.h.
2004-03-09 23:51:02 +00:00
Alexandre Julliard 6db772cd2e Always try to load the 32-bit owner dll instead of directly loading
the .so file for 16-bit builtins. Make the load order for 16-bit dlls
always match the load order of their 32-bit owner (if any).
2004-01-03 01:18:55 +00:00
Dimitrie O. Paun 2eaefbd1a4 Move content of global.h into the appropriate private headers. 2003-12-08 21:58:55 +00:00
Alexandre Julliard 77b8c0a42f NE_LoadBuiltinModule: return error 21 if the module we loaded was a
32-bit builtin. This should help WinExec16 to do the right thing.
2003-11-26 04:13:53 +00:00
Alexandre Julliard 16b4411669 Removed MODULE_GetLoadOrderA. 2003-11-25 01:03:04 +00:00
Alexandre Julliard 436eda3071 Removed task.h. 2003-11-25 00:42:26 +00:00
Alexandre Julliard d3fb25cd0f Moved a few definitions used in only one source file out of module.h. 2003-11-17 20:16:38 +00:00
Alexandre Julliard 47f62a402a Set %fs and %gs in the register context to their current value when
calling 16-bit code.
2003-11-05 00:46:44 +00:00
Alexandre Julliard b81d9e7cf4 Link all remaining files that contain kernel APIs into kernel32.dll
instead of ntdll.dll. Removed a number of no longer needed files.
2003-10-08 03:57:02 +00:00
Alexandre Julliard 1cb92bbeec Converted the load order code to use Unicode throughout. 2003-09-27 03:50:40 +00:00
Alexandre Julliard 2052538a47 Moved loadorder support to dlls/ntdll.
Removed the --dll option and replaced it by the WINEDLLOVERRIDES
environment variable.
2003-09-25 20:33:41 +00:00
Alexandre Julliard a37e7608c7 Moved 32-bit relay and snoop support to dlls/ntdll. 2003-09-19 04:32:39 +00:00
Alexandre Julliard ba71316172 Moved a couple more functions to dlls/kernel. 2003-09-18 20:59:54 +00:00