Commit Graph

50 Commits

Author SHA1 Message Date
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
Jukka Heinonen 09537b76f7 DOSVM now exports DPMI Raw Mode Switch routine. 2002-05-05 21:06:51 +00:00
Alexandre Julliard 894b188fcf Moved __ASM_GLOBAL_FUNC macros and interlocked functions to port.[ch] 2002-04-25 21:40:56 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Patrik Stridvall 19d66cc1f6 Fixed some issues found by winapi_check. 2002-01-07 21:16:46 +00:00
Alexandre Julliard 8cd55d0eba Moved most of the real-mode stuff to dlls/winedos. 2001-12-04 19:54:44 +00:00