Commit Graph

55 Commits

Author SHA1 Message Date
Alexandre Julliard
c5bdfdfb2d winedos: Release the 16-bit lock before calling ExitThread.
This avoids deadlocks with the loader lock.
2009-03-31 12:39:10 +02:00
Michael Stefaniuc
c6be3fea10 winedos: Remove superfluous pointer casts. 2009-03-04 12:07:20 +01:00
Austin English
6e59cd2c34 Spelling fixes. 2008-04-22 12:20:12 +02:00
Francois Gouget
8a18e0e43a Assorted spelling fixes. 2008-04-07 13:36:18 +02:00
Alexandre Julliard
5625c6079e Get rid of the global thread.h header. 2008-03-01 11:57:00 +01:00
Rob Shearman
a82f4dd9b7 Don't use GetExceptionCode and GetExceptionInformation in exception filter functions.
When using native compiler exceptions, it isn't valid to use 
GetExceptionCode and GetExceptionInformation anywhere other than in the 
filter or handler blocks since it would be very hard for the compiler to 
work out where to retrieve the exception information from on the stack.

Therefore, remove the WINE_EXCEPTION_FILTER and WINE_FINALLY_FUNC macros 
which enabled GetExceptionCode, GetExceptionInformation and 
AbnormalTermination to be used inside of the functions they declared and 
fix up all callers to access the information directly.
2008-02-16 14:57:44 +01:00
Michael Stefaniuc
b4475b257e winedos: Remove superfluous casts of void pointers to other pointer types. 2007-06-27 12:53:45 +02:00
Michael Stefaniuc
5c06fb0bb1 winedos: Fix printf format warnings introduced by the TEB change in thread.h. 2007-06-06 12:10:18 +02:00
Andrew Talbot
bf98c9d182 winedos: Declare some items static. 2007-02-05 17:11:51 +01:00
Michael Stefaniuc
db4eaf5e6f winedos: Win64 printf format warning fixes. 2006-10-03 15:55:37 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Eric Pouech
4e7b8f4a7b kernel32: Get rid of DOSMEM_AllocSelector. 2005-12-12 13:02:35 +01:00
Eric Pouech
16df50efbe Moved DOS memory handling to winedos. 2005-05-10 15:22:09 +00:00
Eric Pouech
1575c940ef - delayed initialisation of BIOS and SYSTEM information until someone
actually needs it
- now using some manifest constants to make code clearer
2005-04-27 11:08:47 +00:00
Alexandre Julliard
436eda3071 Removed task.h. 2003-11-25 00:42:26 +00:00
Alexandre Julliard
204847e8f6 Use the wine_ldt_* functions directly in winedos instead of calling
SELECTOR_AllocBlock.
2003-11-18 00:06:15 +00:00
Alexandre Julliard
d868549754 Moved toolhelp.h to dlls/kernel. 2003-11-17 20:49:45 +00:00
Alexandre Julliard
8fb98a41e0 Added wine_ldt_is_system() to replace the IS_SELECTOR_SYSTEM macro,
and stop exporting the WINE_LDT_FIRST_ENTRY constant.
2003-11-17 20:12:56 +00:00
Alexandre Julliard
e983652363 Moved a number of DOS definitions out of the global headers and into
winedos private files. Removed the msdos.h header.
2003-11-15 00:13:20 +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
Jukka Heinonen
23503179dc When entering protected mode, V86 flag must be clear. 2003-09-22 19:32:03 +00:00
Alexandre Julliard
e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Jukka Heinonen
7fb4957873 Make DOS process exit using ExitProcess instead of ExitThread.
Make calling DOS exit functions from DPMI either return to StartPM or
print error message if not allowed by DPMI specification.
2003-09-02 00:52:36 +00:00
Alexandre Julliard
bf97962a51 Avoid including stackframe.h if it's not needed. 2003-08-27 02:52:17 +00:00
Jukka Heinonen
be3b2569c7 Make all users of DOSVM_Enter explicitly set V86 flag.
Fix mouse relay stack usage in protected mode.
Raw mode switch now handles interrupt flag correctly.
2003-08-25 01:01:01 +00:00
Alexandre Julliard
d631f30945 Fixed copy/paste error in WOWCallback16Ex call (spotted by Dmitry
Timoshkov).
2003-08-25 00:54:24 +00:00
Alexandre Julliard
3a5b7cf105 Extended WOWCallback16Ex to support register functions too. This
allows simplifying the wine_call_to_16 assembly code by moving part of
it to C code, and getting rid of the extra kernel exports.
2003-08-23 23:30:51 +00:00
Jukka Heinonen
37925eaf7b Remove unnecessary __wine_call_from_16_regs call frame management code
from raw mode switch handler.
2003-08-20 18:17:23 +00:00
Jukka Heinonen
4ef7ba7247 Real mode context should always have V86 flag turned on.
Entering protected mode uses simpler and more robust virtual interrupt
flag check.
Mouse events are now received in graphics modes.
Improved tracing output of int33 handler.
2003-07-08 21:11:52 +00:00
Marcus Meissner
39d1b9c0e5 DPMI exceptions only happen on i386. 2003-07-03 18:08:04 +00:00
Jukka Heinonen
2a3ce4c425 Start processing asynchronous DOS events in DPMI mode. 2003-07-01 03:37:41 +00:00
Sylvain Petreolle
1ce760568c Display the interrupt number in hexadecimal. 2003-06-27 19:40:29 +00:00
Jukka Heinonen
75e87b4457 Add int31 VIF manipulation functions.
Fix asynchronous event locking.
Make asynchronous event handling support DPMI.
2003-06-20 21:27:49 +00:00
Sylvain Petreolle
918d8f3e20 Trace which real mode interrupt is emulated. 2003-06-13 23:17:34 +00:00
Jukka Heinonen
40bebee7ce Report correct IRQ bases to DPMI applications.
Make int31 print more tracing information.
2003-05-02 20:12:10 +00:00
Alexandre Julliard
3dc1f2dff3 Changed the SET_AX etc. macros to not return a value. 2003-03-22 21:12:27 +00:00
Jukka Heinonen
4c6e36faf2 Move real mode interrupt emulation code to file interrupts.c.
Remove last wrapper check from int31 handler.
Move RM/PM hardware interrupt emulation code to separate functions.
2003-03-04 02:16:20 +00:00
Alexandre Julliard
ce13153821 Moved LDT selector allocation routines to libwine.
Added support for correct locking of all LDT operations.
Added separate functions to manipulate the %fs selector, which allows
using a global GDT selector on recent Linux kernels.
2003-02-26 20:34:45 +00:00
Jukka Heinonen
f0e1c04b87 Replace FIXMEs with TRACEs in those paging functions that really are
not supposed to do anything.
Add simple emulation of coprocessor state functions.
2003-01-28 00:19:21 +00:00
Jukka Heinonen
9d7ff6c85b Add support for DPMI32. Make winedos16.dll unnecessary. 2002-12-15 01:18:40 +00:00
Alexandre Julliard
435e2e63f4 winnt.h should not be self-contained, it must depend on windef.h so
that STRICT works correctly; moved some definitions back to windef.h
where they belong, and removed a couple of definitions that don't
exist on Windows.
2002-12-10 22:56:43 +00:00
Jukka Heinonen
69f74dbf0e Move all int31 functions to winedos.
Fix some obvious bugs in int31 functions.
2002-11-11 19:55:52 +00:00
Jukka Heinonen
23be4ff094 Move most int31 functions to winedos.
Add DPMI32 fixes.
2002-11-06 19:54:39 +00:00
Jukka Heinonen
3c9d9182eb Ignore VCPI installation checks. Handle XMS query any extended memory
function. Add stubs for get/set exception handler vector.
2002-11-04 22:35:36 +00:00
Jukka Heinonen
6f6abac4f1 Modify winedos interrupt handlers so that they work with PM
interrupts.
Add forwarding functions for handlers in other DLLs.
Make DOSVM_GetBuiltinHandler use static table instead of
GetProcAddress.
2002-10-29 23:09:30 +00:00
Jukka Heinonen
7710b3c8f3 Add routines for manipulating protected mode interrupt handlers to
winedos dll. Add routine for checking if process is Windows process.
Fix DOSVM_IsDos32 interface. Move real mode interrupt handler
manipulation routines to interrupts.c.
2002-10-28 20:12:40 +00:00
Jukka Heinonen
eca6182749 Move interrupt emulation code from INSTR_EmulateInstruction to winedos
dll. Make CTX_SEG_OFF_TO_LIN work with 32-bit segmented pointers
common in DPMI32. Fix winedos initialization so that DOSMEM_Init(TRUE)
is only called when DOS executable is started.
2002-10-23 22:24:10 +00:00
Alexandre Julliard
65ea73fedf Added DPMI segments structure and related function to avoid direct
references to dosmem internal variables.
Determine BIOS system offsets at compile time.
2002-09-04 18:52:22 +00:00
Alexandre Julliard
0d875e773e Fixed some dll separation issues. 2002-08-30 00:03:25 +00:00
Patrik Stridvall
5e6943f421 Fixed some issues found by winapi_check. 2002-05-22 01:55:18 +00:00