Commit Graph

188 Commits

Author SHA1 Message Date
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
Alexandre Julliard fbbad0f10a makefiles: Always build 16-bit modules with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 11:09:19 +02:00
Alexandre Julliard 024f9ebd1a krnl386: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 10:55:25 +02:00
Alexandre Julliard 1acb481d29 krnl386: Avoid using the selector functions from libwine.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-02 10:55:25 +02:00
Alexandre Julliard 9d588819fe ntdll: Export the LDT copy from ntdll instead of libwine.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 23:00:45 +02:00
Alexandre Julliard b544836952 krnl386: Avoid using the LDT definitions from libwine.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 23:00:45 +02:00
Alexandre Julliard a02d2773be krnl386: Reimplement LDT support using NtSetLdtEntries().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 22:55:24 +02:00
Alexandre Julliard 73dad192b4 krnl386: Avoid using toupperW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 10:30:21 +02:00
Alexandre Julliard d637640f9a krnl386: Get rid of DOS parallel port I/O support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:34:50 +01:00
Alexandre Julliard 61ad36fdc9 krnl386: Return a handle to the vxd file itself instead of creating a dummy file.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:34:49 +01:00
Alexandre Julliard 7b10b02411 krnl386: Get rid of DOS SCSI ioctl support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:34:49 +01:00
Alexandre Julliard 88746a5597 krnl386: Get rid of DOS direct I/O support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:34:49 +01:00
Alexandre Julliard 14091b19ae krnl386: Get rid of DOS DMA support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 19:23:20 +01:00
Alexandre Julliard a432ce86a7 krnl386: Get rid of DOS Soundblaster support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 19:23:14 +01:00
Alexandre Julliard 7f2aef0506 krnl386: Get rid of DOS floppy disk support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 19:23:09 +01:00
Alexandre Julliard d94a4e46c1 krnl386: Get rid of DOS EMS support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 19:23:05 +01:00
Alexandre Julliard 88cc1fb8b4 krnl386: Get rid of DOS UMB support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 19:23:00 +01:00
Alexandre Julliard 7b68705d3c krnl386: Fix some calling convention mismatches.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 19:22:41 +01:00