1
0
Fork 0
mirror of synced 2025-03-07 03:53:26 +01:00
Commit graph

205 commits

Author SHA1 Message Date
Alexandre Julliard
9ac8d63e22 include: Move unwinding functions definitions to rtlsupportapi.h. 2024-03-01 10:21:48 +01:00
Alexandre Julliard
9c5df8004d krnl386.exe: Use the official definitions for exception flags. 2024-02-29 18:14:48 +01:00
Alex Henrie
b87bd5e9b0 krnl386: Emulate the VGA status register.
Sega Bug uses it as a timer.
2024-01-29 17:08:10 +01:00
Alexandre Julliard
7748c76e35 krnl386: Align the stack before calling the entry point.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56152
2024-01-08 20:52:27 +01:00
Alexandre Julliard
de3bc7d511 krnl386: Use NtContinue to restore the full context.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56152
2024-01-08 20:52:27 +01:00
Alexandre Julliard
aa7a0f5198 krnl386: Don't release the Win16 lock when exiting a task.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54402
2023-12-14 23:40:04 +01:00
Alexandre Julliard
7ccb5df0fc makefiles: Always use the global SOURCES variable for .rc files. 2023-11-01 22:43:56 +01:00
Alex Henrie
0d7cf84709 include: Move RTL functions that belong in ntddk.h from winternl.h to ntddk.h. 2023-09-27 11:17:47 +02:00
Alexandre Julliard
176a6ca279 krnl386: Use the IMAGE_FIRST_SECTION helper macro. 2023-09-25 13:02:09 +02:00
Alistair Leslie-Hughes
9095854e1a krnl386.exe16: Remove DECLSPEC_HIDDEN usage. 2023-07-27 11:54:03 +09:00
Alexandre Julliard
7a82d78b17 krnl386: Use nameless unions/structs. 2023-07-18 20:12:42 +02:00
Alistair Leslie-Hughes
77e0aae7f3 krnl386.exe16: Don't overflow when calculating size.
The application again the bug, passed 1 as the elem parameter which
doubled the memory being allocated.  When it overflowed (became negative),
the value was passed into GlobalAlloc16 which then failed.

GlobalAlloc16 takes a DWORD parameter, so the value isn't going to be truncated.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53092

Original patch by github user cracyc for winevdm.
2023-06-01 22:00:19 +02:00
Alex Henrie
956005d338 krnl386: Avoid calling RtlInitUnicodeString on a static constant. 2023-02-15 19:55:12 +01:00
Alexandre Julliard
cf3d58e4dc krnl386: Remove a trace that causes compiler warnings. 2023-01-24 22:24:42 +01:00
Alexandre Julliard
6e43f873c3 krnl386: Make MapLS argument non-const to avoid some compiler warnings. 2023-01-24 22:24:39 +01:00
Alexandre Julliard
a72c7bbc0c ntdll: Add a Wine-specific process info class for the LDT copy. 2022-11-11 11:56:45 +01:00
Eric Pouech
6b1f051513 krnl386.exe16: Don't pass NULL to printf/%s).
GCC12.2 emits a warning here.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2022-09-27 18:14:34 +02:00
Damjan Jovanovic
fc4726c225 krnl386.exe: Fix VxD filename format checks in __wine_vxd_open().
__wine_vxd_open() has several bugs. If filenameW doesn't end in
".vxd", it is wrongly
allowed to be over 8 characters long. If it does end in ".vxd", then a
maximum length
filename, eg. "12345678.vxd", always gets misdetected as being too long, as:
"lstrlenW( filenameW ) >= ARRAY_SIZE(name) - 4"
becomes 12 >= 12.

Rather do the checks for maximum filename length when we detect the
filename format.

Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-23 10:34:51 +01:00
Eric Pouech
83bc5d4be7 krnl386.exe16: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-11 11:21:29 +01:00
Alexandre Julliard
f0cd33c69e include: Add support for defining Win32 types as 'long' where possible.
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Alexandre Julliard
1c5e4d066f krnl386.exe: Page-align the GlobalAlloc() size when the selector limit is in pages.
GlobalSize() uses the selector limit and that needs to match the
allocated size.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52082
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-12 17:59:05 +01:00
Alex Henrie
819d049f12 krnl386: Add GetLPErrMode stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52102
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-02 20:20:39 +01:00
Alexandre Julliard
6ebcc54a5c makefiles: Explicitly import all the needed libraries.
Don't rely on winegcc adding any default libraries.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-11 13:28:19 +01:00
Alexandre Julliard
b14447b137 krnl386: Use the standard va_list instead of __ms_va_list.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-22 11:11:58 +02:00
Zebediah Figura
55678ccaae krnl386: Fix a mistyped NULL check in WOWTHUNK_Init().
Fixes Collins English Dictionary.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51802
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 20:20:31 +02:00
Alexandre Julliard
97479d3d32 ntdll: Move some exception definitions to winternl.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 13:52:42 +02:00
Zebediah Figura
ea66623c3c winebuild: Move the CALL32_CBClient[Ex]_RetAddr implementation to krnl386.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 11:00:23 +02:00
Zebediah Figura
0a01ad0c36 krnl386: Return to CALL32_CBClient_RetAddr from CBClientThunkSL().
Fixes a copy-paste error which was introduced by
71914125ce.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 10:59:40 +02:00
Zebediah Figura
1f3eb3996d winebuild: Move the CALL32_CBClient[Ex] implementation to krnl386.
Except for the return thunk.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-04 10:59:35 +02:00
Zebediah Figura
b035fe601d krnl386: Call generated 16-bit entry points from the snoop thunks.
Instead of manually building a STACK16FRAME.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 08:55:48 +02:00
Zebediah Figura
5b38636b95 krnl386: Return to a generated 16-bit entry point when calling builtin interrupt handlers.
Instead of manually building a STACK16FRAME.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 08:55:45 +02:00
Zebediah Figura
a6118baa56 krnl386: Call DOSVM_IntProcRelay() via the application stack.
Instead of using a dedicated stack.

The dedicated stack was introduced by 9d7ff6c85b,
in order to support potentially nested DPMI interrupts. DPMI support was removed
by ed6bdb3c51cd4b8c94f9839806321703e7aa9765; hence there is no longer a reason
to account for nested interrupts.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 08:53:52 +02:00
Zebediah Figura
f0328650cd krnl386: Print %bp, %ss, and %sp for register functions in relay_call_from_16().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-28 21:48:59 +02:00
Zebediah Figura
4b7355e7f6 krnl386: Don't handle %ss in fix_selector().
Loading %ss with zero isn't valid either. If %ss is invalid we have bigger
problems anyway.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:14 +02:00
Jacek Caban
f05e9b1e26 krnl386.exe: Convert 16-bit GDI handles to full 32-bit handles.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51570
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-13 16:36:28 +02:00
Zebediah Figura
3338972feb krnl386: Remove unused support for WCB16_REGS_LONG.
This was introduced in 3a5b7cf105 as way to expose
wine_call_to_16_regs_long(); however, the same commit changed the only user to
use WCB16_REGS instead.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 21:48:28 +02:00
Zebediah Figura
9ea5d41cd1 krnl386: Remove the unused relay stub which enables interrupts.
This was used by DOS IRQ handling, removed in
5ec5449596.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:05 +02:00
Akihiro Sagawa
eca2bfd071 krnl386.exe: Cap GetFreeSpace value to 2GB.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46962
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 15:48:55 +01:00
Alexandre Julliard
4a17ca008e krnl386.exe: Don't use wine/server.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-16 23:01:37 +01:00
Alexandre Julliard
584427fc89 server: Avoid redefining the DuplicateHandle() constants.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-16 21:20:47 +01:00
Alexandre Julliard
b636f9816f krnl386: Move the 16-bit stack out of the WOW32Reserved field.
Based on a patch by Sebastian Lackner.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Alexandre Julliard
f87262ea99 include: Add CURRENT_SS/SP macros for 16-bit code.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Alexandre Julliard
6e1c296ef3 include: Make the CURRENT_STACK16 and CURRENT_DS macros available globally.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Alexandre Julliard
0bf52b09f2 ntdll: Update the TEB and PEB structures for newer Windows versions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-23 23:21:08 +02:00
André Hentschel
d593be3b4c krnl386.exe16: Simply clean a comment from master/slave.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 19:56:43 +02:00
Vijay Kiran Kamuju
9e87c6826e include: Add wownt16.h.
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-08 21:01:33 +02:00
Alexandre Julliard
3e9f8c87e5 ntdll: Move the threading initialization functions to the Unix library.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-01 22:10:28 +02:00
Alexandre Julliard
0995117b50 include: Get rid of ALLOW_UNALIGNED_ACCESS.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-30 12:37:27 +02:00
Zebediah Figura
feeb1c7c24 include: Rename LDR_MODULE to LDR_DATA_TABLE_ENTRY.
This name is used in Microsoft's public winternl.h.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 10:13:39 +02:00
Alexandre Julliard
373973c9e9 krnl386: Use stricmp() instead of _strnicmp(..., -1).
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 14:26:19 +02:00