Commit Graph

5956 Commits

Author SHA1 Message Date
Alexandre Julliard 03fe2b36cd ntdll/tests: Add more tests for segment registers in 64-bit mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-22 17:48:45 +02:00
Akihiro Sagawa 0acd98f135 ntdll: Validate directory path when the path name ends with a dos device name.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51291
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 23:13:57 +02:00
Akihiro Sagawa 64c4582a40 ntdll/tests: Expand path name tests with path + device name.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 23:13:57 +02:00
Alexandre Julliard fed7e7a78b ntdll: Simulate a syscall return when starting a thread.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 18:35:20 +02:00
Alexandre Julliard db26df5934 ntdll: Go through the syscall return path for syscall faults.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 18:35:20 +02:00
Alexandre Julliard 15b18f4830 ntdll/tests: Adapt some of the i386 tests to run on x86-64 as well.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-18 16:48:48 +02:00
Alexandre Julliard c0012ecdd7 ntdll: Ignore faults caused by alignment check on x86-64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-18 16:48:48 +02:00
Zebediah Figura c82c5e96a9 ntdll/tests: Relax tests for RtlWaitOnAddress() timeout.
RtlWaitOnAddress() shouldn't be waiting for less than 100 ms here, and it isn't,
but using GetTickCount() to measure this can result in up to 15 ms of error,
causing frequent test failures.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-17 20:08:16 +02:00
Gijs Vermeulen 836ec1d7ed ntdll: Avoid declaration-after-statement warning.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-17 20:02:04 +02:00
Alexandre Julliard de89ce1bfe ntdll: Support growing both 32- and 64-bit stacks.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-17 20:01:38 +02:00
Alexandre Julliard e91d19a58a ntdll: Remove special case for setting permissions on stack pages.
We are running on the kernel stack at this point.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-17 20:01:38 +02:00
Alexandre Julliard 7b4ca95ab6 ntdll: Add a helper to get the Wow64 TEB.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-17 20:01:37 +02:00
Zebediah Figura 569f1ac018 ws2_32: Move the getpeername() implementation to ntdll.
This adds todo_wine to a couple of tests; however, these are overly zealous
invalid parameter tests, and fixing them is nontrivial.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-17 09:19:31 +02:00
Alexandre Julliard b572cf3025 ntdll: Copy the implementation of __wine_dbg_output to the PE side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-16 15:37:46 +02:00
Alexandre Julliard 0702d6b886 ntdll: Don't allow single-stepping through syscalls.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51273
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-16 15:05:24 +02:00
Zebediah Figura 02309b72f7 server: Implement IOCTL_AFD_GETSOCKNAME.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-16 09:03:20 +02:00
Zebediah Figura f98ea26c67 server: Partially implement IOCTL_AFD_BIND.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-16 09:03:20 +02:00
Zebediah Figura 69549fc0c7 server: Implement IOCTL_AFD_GET_EVENTS.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-15 20:42:52 +02:00
Alexandre Julliard c2d84da813 ntdll: Copy the implementation of __wine_dbg_strdup and __wine_dbg_header to the PE side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-15 20:42:25 +02:00
Alexandre Julliard 2084fbd93d ntdll: Store the debug info in the TEB block after the 32-bit TEB.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-15 20:42:25 +02:00
Alexandre Julliard 588d91aecf ntdll: Store the current PEB in a global variable.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-15 20:42:25 +02:00
Alexandre Julliard a5cec4f5fb ntdll: Always use the TEB that was passed to signal_start_thread().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-14 18:32:24 +02:00
Alexandre Julliard 9a430dc6db ntdll: Also pass the TEB to signal_exit_thread().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-14 18:32:24 +02:00
Alexandre Julliard 2849ca9db4 ntdll: Move the XSTATE definitions to the platform-specific files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-14 18:32:24 +02:00
Alexandre Julliard bcc587887a ntdll: Don't update cached registers if NtGetContextThread() fails.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-14 18:32:24 +02:00
Zebediah Figura 79c102d6be ntdll: Reserve space for the whole 64-bit YMM context in struct x86_thread_data.
Fixes a regression introduced by 308a5e7c4d.

This was previously broken, but happened to work until the aforementioned
commit put the YMM state right at the end of a page.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51262
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-14 10:08:18 +02:00
Zebediah Figura 9bbf3ab96b server: Implement IOCTL_AFD_EVENT_SELECT.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-14 10:07:52 +02:00
Kalen Alwardt 29e1494c72 ntdll: Export ZwFilterToken().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39142
Signed-off-by: Kalen Alwardt <kalenalwardt@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-14 10:05:34 +02:00
Alexandre Julliard fa5759b9ef ntdll: Simplify the platform-specific dispatcher interface.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Alexandre Julliard 7954b86f6b ntdll: Switch to the kernel stack for syscalls on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Alexandre Julliard 08c4419a49 ntdll: Switch to the kernel stack for syscalls on ARM64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Alexandre Julliard 25b093f384 ntdll: Switch to the kernel stack for syscalls on x86-64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Alexandre Julliard 308a5e7c4d ntdll: Switch to the kernel stack for syscalls on i386.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 15:49:29 +02:00
Alexandre Julliard 6b277dc89d ntdll: Always allocate extra stack space for the kernel stack.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 11:06:42 +02:00
Alexandre Julliard e8753b4bc2 ntdll: Allow the dispatcher functions to return to the caller.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 10:56:23 +02:00
Alexandre Julliard a2fce84a8b ntdll: Fix some exception test failures on ARM64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-10 19:54:33 +02:00
Alexandre Julliard 4e74038749 ntdll: Fix some exception test failures on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-10 19:54:33 +02:00
Alexandre Julliard 1bd4473484 ntdll: Create a thread to run the ctrl-C routine instead of raising an exception.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-09 23:38:43 +02:00
Roman Pišl a0425b9610 ntdll: Allow loading of native libraries for Win16.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51224
Signed-off-by: Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-08 22:28:44 +02:00
Zebediah Figura a43c000aef ntdll: Introduce IOCTL_WINE_AFD_KEEPALIVE_VALS.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-08 10:17:30 +02:00
Zebediah Figura 67959e9663 ntdll: Introduce IOCTL_AFD_WINE_GET_INTERFACE_LIST.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-08 10:17:23 +02:00
Alexandre Julliard 050378d4d7 ntdll: Only restore the modified parts of the syscall frame on i386.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 17:16:21 +02:00
Alexandre Julliard 32f1bfd0f0 ntdll: Only restore the modified parts of the syscall frame on x86-64.
Based on a patch by Jacek Caban.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 17:16:21 +02:00
Alexandre Julliard ba5d73d796 ntdll: Validate the extended context before modifying the other registers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 13:31:19 +02:00
Robin Ebert b94fe59422 ntdll: Fix a file descriptor leak.
Signed-off-by: Robin Ebert <ebertrobin2002@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-04 10:20:46 +02:00
Zebediah Figura 27609da351 ntdll: Introduce IOCTL_AFD_WINE_SIOCATMARK.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-03 17:42:19 +02:00
Zebediah Figura 5917d573b6 ntdll: Introduce IOCTL_AFD_WINE_FIONREAD.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-03 17:42:19 +02:00
Alexandre Julliard d08f42b68c kernelbase: Move CopyContext() implementation to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-03 17:42:19 +02:00
Alexandre Julliard 3f1f58f19a ntdll: Use appropriate context constants where possible.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-03 13:03:20 +02:00
Zebediah Figura be8bd6f498 ntdll: Introduce IOCTL_WINE_AFD_COMPLETE_ASYNC.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-02 20:16:08 +02:00
Alexandre Julliard e5982993ae ntdll: Get rid of signal_init_syscalls().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-02 20:16:07 +02:00
Alexandre Julliard 42e42e9085 ntdll: Use a single syscall dispatcher controlled by global flags on i386.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-02 20:16:07 +02:00
Alexandre Julliard 3d9cb5e4f8 ntdll: Use a single syscall dispatcher controlled by global flags on x86-64.
Based on a patch by Jacek Caban.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-02 20:16:07 +02:00
Jacek Caban 1b5ea62e8e ntdll: Introduce wine_unix_call.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 18:00:32 +02:00
Alexandre Julliard aa26f96622 ntdll: Get rid of raise_func_trampoline() on x86-64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 17:34:30 +02:00
Alexandre Julliard 1cc0649755 ntdll: Store exception jump buffer in the per-thread data.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 15:16:23 +02:00
Zebediah Figura 10eba9b2e9 Revert "ntdll: Preserve syscall frame when calling async IO system APC.".
This reverts commit 8b8ddffa21.

ws2_32 no longer uses system APCs.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 09:12:54 +02:00
Roberto Pungartnik c2351cd9b4 ntdll: Fix IOCTL_AFD_WINE_SENDMSG irda member misreference.
Signed-off-by: Roberto Augusto Pungartnik <rpungartnik@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-31 11:34:55 +02:00
Francois Gouget dc94b03799 ntdll/tests: Fix the XState AllFeatureSize check on old CPUs.
On old CPUs lacking XSAVEC, Windows 8+ does not set AllFeatureSize and
AllFeatures.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=51188
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-28 21:54:03 +02:00
Francois Gouget b6d5f976e3 ntdll: Update the STATUS_NO_SUCH_DEVICE error mapping.
Windows 10 >= 1909 returns ERROR_NO_SUCH_DEVICE.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-28 21:53:07 +02:00
Zebediah Figura 0a68921936 ntdll: Introduce IOCTL_AFD_WINE_TRANSMIT.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-28 21:53:07 +02:00
Zebediah Figura d8968b955c ntdll: Quiet some noisy ETW FIXMEs.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-28 10:50:19 +02:00
Alexandre Julliard 543e49397f winebuild: Store all parameters on the stack for syscall thunks on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 21:13:18 +02:00
Paul Gofman eefce9dcb9 ntdll/tests: Don't consider zero 'AllFeatures' value in USD broken.
Both variants are observed on different computers with Win10.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 16:14:47 +02:00
Zebediah Figura 85a615f136 ntdll: Introduce IOCTL_AFD_WINE_SENDMSG.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 11:34:56 +02:00
Zebediah Figura ac3ec2d955 ntdll: No longer export __wine_locked_recvmsg().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 11:34:36 +02:00
Zebediah Figura b108c1373a ntdll: Introduce IOCTL_AFD_WINE_RECVMSG.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 11:34:27 +02:00
Zebediah Figura e634cc7f48 server: Clear FD_OOB instead of FD_READ when receiving OOB data.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 11:34:27 +02:00
Jacek Caban 1215c2a6b7 ntdll: Use DECLSPEC_HIDDEN for a few more symbols.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-26 21:29:38 +02:00
Jacek Caban 4e789932c6 ntdll: Make get_machine_wow64_dir static.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-26 21:29:38 +02:00
Paul Gofman 2fac2e6b32 ntdll/tests: Do not test old xstate structure details in test_user_shared_data().
Fixes test failures on 32 bit Testbot machines.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-26 21:29:37 +02:00
Alexandre Julliard a71cb210f1 ntdll: Remove no longer used syswow64 directory string.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-26 21:24:53 +02:00
Alexandre Julliard 2b03b2873e ntdll: Free the initial process parameters once they are copied.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-25 21:13:00 +02:00
Alexandre Julliard 78cbc26957 ntdll: Fill the Wow64 PEB and process parameters.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-25 21:13:00 +02:00
Alexandre Julliard 72ace07c6f ntdll: Pass an extra context arguments to APC functions on 64-bit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-25 21:13:00 +02:00
Alexandre Julliard 8e01e8763b ntdll: Implement NtTestAlert().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-25 21:13:00 +02:00
Alexandre Julliard 1364b11fd4 ntdll: Pass the result status to call_user_apc_dispatcher().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-25 21:13:00 +02:00
Alexandre Julliard e1716530d9 server: Use a standard user APC also for timers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-25 21:13:00 +02:00
Alexandre Julliard 118bd9fee3 ntdll: Always put the pthread stack at the top of the 64-bit stack if there's one.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-25 21:13:00 +02:00
Zebediah Figura 834e2f04c6 ntdll: Implement IOCTL_AFD_POLL.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50975
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-25 09:35:23 +02:00
Alexandre Julliard 1e5eee0fc3 ntdll: Fetch the debug channels from the PEB memory block on the PE side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 22:03:44 +02:00
Alexandre Julliard d389da0953 ntdll: Store debug options in the PEB memory block.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 21:37:49 +02:00
Alexandre Julliard 4e8fcc41ca ntdll: Replace __wine_make_process_system by a Wine-specific NtSetInformationProcess() class.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 18:31:27 +02:00
Daniel Lehman 1bfa845a67 ntdll: Silence clang warning.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 11:42:37 +02:00
Daniel Lehman cb6a6bb6cf ntdll/tests: Clean up temp file.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 11:42:37 +02:00
Zebediah Figura b8f4061df0 ntdll: Implement IOCTL_AFD_RECV.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50366
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 11:34:32 +02:00
Zebediah Figura 5d3fde087a ntdll: Move struct async_fileio to unix_private.h.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 11:32:59 +02:00
Zebediah Figura 97afac469f ntdll: Avoid accessing the I/O status block in wait_async().
Steam uses WSASend() with completion ports, reusing OVERLAPPED structures as
soon as they are returned from GetQueuedCompletionStatus(). Since completion is
queued during the select request in wait_async(), the I/O status block can be
reused even before the call to NtDeviceIoControl exits.

This works fine with current Wine, because WSASend() doesn't access the I/O
status block after queuing completion. However, a patch that changes it to use
wait_async() like other async requests causes NtDeviceIoControlFile to
consistently return garbage status codes.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 11:32:28 +02:00
Alexandre Julliard 771e9260f8 ntdll/tests: Only load RtlWow64GetCpuAreaInfo() on 64-bit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-21 18:08:45 +02:00
Paul Gofman ddd161f339 ntdll: Validate job handles at process creation.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-20 21:48:57 +02:00
Alexandre Julliard e8a1341f5c ntdll: Add platform-specific helpers for getting/setting the Wow64 context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-18 17:53:30 +02:00
Alexandre Julliard ee0b909f87 ntdll: Export RtlWow64Get/SetThreadContext() on all 64-bit platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-18 17:53:30 +02:00
Alexandre Julliard 8eda3fcc68 ntdll: Pass a server context to server_select().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-18 17:53:30 +02:00
Alexandre Julliard f04c2bd4f1 ntdll: Make the server context conversion functions generic.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-18 17:46:41 +02:00
Zebediah Figura f47a09b917 ntdll/tests: Fix a copy-paste error in an ok message.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-18 09:56:43 +02:00
Alexandre Julliard 5ba8f0d73b ntdll: Store the Wow64 context at the top of the 64-bit stack.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 18:49:09 +02:00
Alexandre Julliard e40eab977a ntdll: Only check the is_wow64 flag on 32-bit platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 18:49:09 +02:00
Alexandre Julliard a8ff0c12f4 ntdll: Allocate a separate 64-bit stack for Wow64 threads.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 18:49:09 +02:00
Alexandre Julliard 711bde7cd1 ntdll: Add a helper function to set the thread id.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 18:49:09 +02:00
Alexandre Julliard 5864bc88de ntdll: Always send the native PEB pointer to the server.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-13 16:45:28 +02:00
Alexandre Julliard 4dca2cc797 ntdll: Always send the native TEB pointer to the server.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-13 16:45:28 +02:00
Alexandre Julliard d743c1e6c3 server: Send TEB and PEB in the process_init_done request.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-13 16:45:28 +02:00
Alexandre Julliard c2be6ecf0b ntdll/tests: Add tests for Wow64 TEB and PEB information.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-13 16:45:28 +02:00
Alexandre Julliard d1e90e1537 ntdll/tests: Don't skip all tests if a function is missing.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-13 16:45:28 +02:00
Zebediah Figura 07ea3061e2 ntdll: Use %I64x instead of %lx to trace 64-bit values.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-13 10:41:03 +02:00
Alexandre Julliard e97a2c4c0f ntdll: Implement RtlWow64GetCpuAreaInfo().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-12 16:56:27 +02:00
Rémi Bernon b44fb883b0 ntdll/tests: Check that creating huge thread stacks works.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Alexandre Julliard 6f9562db20 ntdll: Only compute the zero_bits mask when needed.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Alexandre Julliard 40165dfa58 ntdll: RtlCreateUserThread() also takes a zero_bits parameter.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Alexandre Julliard 6de7fa1bde ntdll: Take the zero_bits parameter into account in NtCreateThreadEx().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Alexandre Julliard 6a296592aa server: Send the zero_bits parameter for remote NtCreateThreadEx() calls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Alexandre Julliard e9bc48e90a ntdll: Force executing IL-only binaries on the native machine.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51101
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Francois Gouget c021db5a41 ntdll/tests: Fix the speilling of an ok() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 19:49:54 +02:00
Alexandre Julliard a7b5786f70 ntdll: Fix the check for the main exe in get_load_order().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 18:12:37 +02:00
Jacek Caban fdf568aaae ntdll: Inherit tty std input and output in processes attached to Unix console.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50117
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 21:52:23 +02:00
Alexandre Julliard d47a711e98 ntdll: Open the per-application key for load order at startup.
It avoids accessing process parameters after startup.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 21:52:22 +02:00
Alexandre Julliard 75b1db42e5 ntdll: Return the full path to start.exe in load_start_exe().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 21:52:22 +02:00
Alexandre Julliard 87b7132b37 ntdll: Implement RtlFindExportedRoutineByName().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 21:52:22 +02:00
Alexandre Julliard b35404aa61 include: Disallow wcsncpy() in Wine, similarly to strncpy().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-04 21:33:15 +02:00
Alexandre Julliard e85dee1fb7 ntdll: Don't output thread traces to the seh channel.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-04 14:28:13 +02:00
Zebediah Figura beef84721d ntdll: Quiet the FIXME for unmapped NTSTATUS values.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-04 09:37:33 +02:00
Louis Lenders 1a02b3f1c6 ntdll: Stub RtlQueryProcessPlaceholderCompatibilityMode().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50026
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 20:42:29 +02:00
Sven Baars fc8bf8d33d ntdll/tests: Use FindClose() to close handles returned by FindFirstFileW() (Valgrind).
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 20:42:29 +02:00
Sven Baars 2d218c924d ntdll: Fix some memory leaks (Valgrind).
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 20:42:29 +02:00
Alexandre Julliard d6a7b35669 ntdll: Sort the info classes by numeric value in NtQuerySystemInformation().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 20:42:29 +02:00
Alexandre Julliard 8b79c8d41f ntdll: Use the native machine id instead of hardcoded values.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 20:42:29 +02:00
Alexandre Julliard 7cdb88a5d8 include: Update the SYSTEM_PROCESS_INFORMATION structure.
Spotted by Alex Henrie.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Rémi Bernon 24d2a65916 ntdll/tests: Remove Qpc(Interrupt|System)TimeIncrement(Shift) checks.
They are not fixed and are updated from time to time (every few secs),
randomly failing the tests on the testbot.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 23:37:45 +02:00
Alexandre Julliard 4f8ede8e76 ntdll: Implement RtlWow64IsWowGuestMachineSupported().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 23:37:45 +02:00
Alexandre Julliard 6c2f19c0a7 ntdll: Implement RtlWow64GetCurrentMachine().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 23:37:45 +02:00
Alexandre Julliard f2c1470c7c ntdll: Implement RtlWow64GetProcessMachines().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 23:37:45 +02:00
Alexandre Julliard b5095a1028 ntdll/tests: Fix a test failure on Windows 8.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 23:37:45 +02:00
Paul Gofman 02e3327f06 ntdll: Implement NtGetNextThread().
Largely based on a patch by Nikolay Sivov for NtGetNextProcess().

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 10:48:59 +02:00
Alexandre Julliard a5aaa41069 makefiles: Install libwine into the architecture-specific directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-28 11:41:27 +02:00
Alexandre Julliard 2801d6341c makefiles: Install Unix binaries into an architecture-specific directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-28 11:40:39 +02:00
Alexandre Julliard 620c0818bf ntdll: Check all supported architectures in is_builtin_path().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-28 10:25:02 +02:00
Alexandre Julliard 616415a6df ntdll: Store the debug info for the initial thread next to the PEB.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 16:52:30 +02:00
Alexandre Julliard 789c1db18a ntdll: Allocate TEBs and stacks in the low 2G.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 16:52:30 +02:00
Alexandre Julliard 6a9e19344d ntdll: Always allocate space for both 32- and 64-bit TEB.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 16:52:30 +02:00
Alexandre Julliard cda02cdddb ntdll: Always allocate space for both 32- and 64-bit PEB.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 16:52:30 +02:00
Alexandre Julliard 79a148e1fa ntdll: Add separate helpers for loading pe and so builtins.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 16:52:30 +02:00
Alexandre Julliard 339ed57643 server: Get rid of the CPU type and functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 10:42:04 +02:00
Alexandre Julliard 308bd35746 server: Store a machine ID instead of a CPU in the context structure.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 10:40:53 +02:00
Henri Verbeet b9070e1153 ntdll: Clear ret->Buffer on failure in get_env_var() (Valgrind).
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-26 21:34:02 +02:00
Alexandre Julliard 893febda14 makefiles: Install PE fake dlls in the architecture-specific directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-26 21:34:02 +02:00
Alexandre Julliard f93713b157 ntdll: Support loading builtins from the architecture-specific PE directory.
Based on a patch by Jacek Caban.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-26 21:34:02 +02:00
Alexandre Julliard df1c03a007 ntdll: Fix drive letter of current directory in get_full_path().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51057
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-25 16:38:08 +02:00
Gabriel Ivăncescu ec20f767fb ntdll/tests: Test hard linking a file to a different casing of itself or existing target.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-23 20:02:07 +02:00
Alexandre Julliard 2e0a96a483 ntdll: Make sure that the virtual heap doesn't overlap the preloader range.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50963
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-23 20:02:06 +02:00
Alexandre Julliard 126a14ac9a ntdll: Implement NtQuerySystemInformationEx(SystemSupportedProcessorArchitectures).
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-23 20:02:06 +02:00