Commit Graph

69 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
Dmitry Timoshkov 3c9e7a7f33 wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility. 2007-05-25 20:37:56 +02: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
Gerald Pfeifer 7714af934d We only need the relay debug channel on MZ_SUPPORTED platforms. 2005-09-30 10:34:32 +00:00
Alexandre Julliard 20a1a203c6 Use a more portable scheme for storing the name of a critical
section.
2005-09-09 10:19:44 +00:00
Alexandre Julliard 84259840eb Refuse to load if 16-bit support is missing. 2005-05-19 14:21:02 +00:00
Eric Pouech 16df50efbe Moved DOS memory handling to winedos. 2005-05-10 15:22:09 +00:00
Mike McCormack 4a0f999859 Use CreateEventW in preference to CreateEventA for unnamed events. 2005-01-07 15:40:09 +00:00
Diego Pettenò e07a95688d Get rid of DPRINTF. 2005-01-03 20:04:54 +00:00
Markus Amsler b5b8810e99 Pass debug exceptions to winedos. 2004-08-04 19:08:19 +00:00
Patrik Stridvall ede82e3055 Fixed some issues found by winapi_check. 2004-02-20 20:19:23 +00:00
Steven Edwards cfcc449324 Porting fixes. 2003-11-26 22:29:30 +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
Jukka Heinonen d7ee5f3f31 Fix race in real mode event handling.
Merge real mode pending event checking routines.
Remove some obsolete code.
2003-11-11 00:44:10 +00:00
Jukka Heinonen 46f29944c3 Remove races from DPMI async event handling. 2003-10-14 05:20:34 +00:00
Jukka Heinonen abbcf41325 Use correct linear pointer when accessing BIOS data area. 2003-09-30 00:22:12 +00:00
Alexandre Julliard add0c5850b Use WOWCallback16Ex to switch to vm86 mode so that we can setup a
proper exception handler and handle instruction emulation.
2003-09-17 20:23:33 +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 0a1fa89f33 Add support for specific EOI PIC command. 2003-09-01 23:55:53 +00:00
Alexandre Julliard 7df1b9e03a Start using the exported TEB structure from winternl.h where
possible.
2003-08-28 19:57:35 +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 19b6a49845 Allocate DebugInfo field for all critical sections (based on a patch
by Alex Pasadyn).
Get rid of the Wine-specific CRITICAL_SECTION_INIT macro.
2003-08-12 23:50:54 +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
Dmitry Timoshkov 4e1ef0c114 For all DLLs with defined DllMain and which do not require
DLL_THREAD_ATTACH/DLL_THREAD_DETACH notifications, call
DisableThreadLibraryCalls() in order to slightly improve performance
on thread creation/exiting.
2003-06-30 20:53:48 +00:00
Gerald Pfeifer e7724ffc65 Enable all of DllMain(), even if if not MZ_SUPPORTED. 2003-06-27 19:41:10 +00:00
Gerald Pfeifer 018e3cc67b Expose part of DOSVM_SendQueuedEvents() also for platforms without
MZ_SUPPORTED.
2003-06-24 02:24:54 +00:00
Jukka Heinonen 76f93fb6bc Add IRQ acknowledge handler for internal IRQs.
Change DPMI asynchronous event handling.
Always use alternate stack in DPMI relays and check for pending events
after original stack has been restored.
2003-06-23 03:35:51 +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
Jukka Heinonen 0b79a6e7c3 Make DOSVM_Wait work in protected mode.
Replace SHOULD_PEND macro with a function.
2003-06-16 01:17:30 +00:00
Jukka Heinonen b2844d2c3a Split timer code into separate source file.
Stop using SIGALRM for timers.
2003-06-13 16:28:49 +00:00
Jukka Heinonen 7731c8e33e Pending timer interrupts no longer deadlock DOSVM_Wait.
Restored interrupt priorities to correct values.
2003-06-06 18:09:14 +00:00
Marcus Meissner cba9795f14 Fixed non-x86 DOSVM_Wait prototype. 2003-05-04 02:25:21 +00:00
Jukka Heinonen e2ae56e0b9 Remove obsolete code from DOSVM_Wait.
Prepare DOSVM_Wait for handling nested interrupts in both real and
protected mode.
Provide temporary workaround for keyboard related deadlock.
2003-05-02 20:12:52 +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
Michael Stefaniuc 62ed0ffe00 Added some missing LeaveCriticalSection's. 2003-02-12 01:26:05 +00:00
Dimitrie O. Paun 737d4be892 Move excpt.h out of include/msvcrt/ as it does not conflict with any
standard Unix header.
2002-12-12 23:34:01 +00:00
Jukka Heinonen 7b7f198786 Move DPMI segments to winedos. 2002-12-02 21:39:58 +00:00
Jukka Heinonen fe2acc1389 Start using winedos handlers for all interrupts. 2002-11-06 21:56:52 +00:00
Alexandre Julliard 1e1313d54c Made the dll entry point default to DllMain and removed most of the
'init' spec file declarations.
2002-11-04 23:53:41 +00:00
Andreas Mohr 90ce2c896f - Make int09 update the BIOS data segment's keyboard status flags
bytes, implement pause key handling.
- Let int16/02 read the keyboard status flags bytes instead of calling
  GetAsyncKeyState().
- Make the keyboard state buffer used for Get*Key*() reflect
  VK_L/RMENU properly.
- Small fixes.
2002-10-28 23:51:27 +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 b34fb35b31 Fixed warnings caused by conversion to -DSTRICT. 2002-10-18 23:48:57 +00:00
Dmitry Timoshkov 472d016859 Correct SIZE_T size according to MS SDK.
Change some types to SIZE_T according to MS SDK definitions.
2002-09-21 01:21:00 +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 d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Admiral Coeyman 9cb2b210aa Added support for FPU emulation interrupts. 2002-07-10 23:22:29 +00:00