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
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
8ffb9b31d0
ntdll: Initialize version and session id on the Unix side.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-13 13:05:29 +02:00
Alexandre Julliard
7512c53b89
ntdll: Cache the main image section information.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50937
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-07 10:51:32 +02:00
Alexandre Julliard
4e2bd548b1
ntdll: Make the is_win64 variable global.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-26 14:48:34 +01:00
Alexandre Julliard
49f12d65d8
ntdll: Don't return an existing address when mapping a builtin PE dll.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 20:38:45 +01:00
Alexandre Julliard
cb14be78ff
ntdll: Move the builtin image checks to virtual_map_builtin_module().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 20:38:45 +01:00
Alexandre Julliard
24a5a10142
ntdll: Replace image mapping by the builtin module directly in NtMapViewOfSection().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 20:38:45 +01:00
Alexandre Julliard
5dcd3c1dd9
ntdll: Return the mapping size in virtual_map_builtin_module().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 20:38:45 +01:00
Alexandre Julliard
20c4ae45ce
ntdll: Add refcounting for .so builtin dlls.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 18:52:58 +01:00
Alexandre Julliard
89340bb762
ntdll: Load the Unix library only when __wine_init_unix_lib() is called.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-22 18:52:58 +01:00
Alexandre Julliard
e0fc8d7acb
ntdll: Call the Unix entry point from the Unix side.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-16 20:36:43 +01:00
Alexandre Julliard
9e38a68001
ntdll: Add a helper for mapping a PE image.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-16 11:01:19 +01:00
Alexandre Julliard
8824474e08
ntdll: Move the builtin dll list to virtual.c.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-16 10:58:14 +01:00
Alexandre Julliard
6531f262e3
server: Return the file name for image mappings in the get_mapping_info request.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-15 11:02:20 +01:00
Jacek Caban
ce5f17c892
ntdll: Store FPU and XMM contexts in x86 syscall frame.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 21:13:00 +01:00
Jacek Caban
a0a62463e3
ntdll: Introduce signal_init_syscalls.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-19 23:46:30 +01:00
Alexandre Julliard
9ce326eea0
server: Store a filename for memory views of .so dlls.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-15 12:24:15 +01:00
Brendan Shanks
b79b158d6b
ntdll: Always use MAP_FAILED as mmap()'s error value.
...
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-12 14:41:56 +01:00
Alexandre Julliard
3472387777
server: Implement NtQueryVirtualMemory(MemorySectionName).
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-10 16:30:18 +01:00
Alexandre Julliard
ced3892c65
ntdll: Create a SEC_IMAGE view also for .so builtins.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-26 16:38:56 +01:00
Alexandre Julliard
7250f9a95b
ntdll: Add some more section information data.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-22 18:33:23 +01:00
Alexandre Julliard
baec5f1eca
ntdll: Store the syscall dispatcher also in the WOW32Reserved TEB field.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Alexandre Julliard
043489456c
ntdll: Make x86_64 syscall thunks position independent.
...
Based on a patch by Paul Gofman.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-25 21:39:19 +01:00
Brendan Shanks
f40195cd92
dbghelp: Use PEB->CloudFileFlags instead of PEB->Reserved for debug base address.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50077
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 22:06:52 +01:00
Myah Caron
d453db5ba2
ntdll: Stub NtAllocateVirtualMemoryEx.
...
Signed-off-by: Myah Caron <qsniyg@protonmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-26 20:34:19 +01:00
Alexandre Julliard
7cec3dc284
ntdll: Use the standard code path to load ntdll.dll.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 19:38:42 +02:00
Alexandre Julliard
d8f7d54573
ntdll: Add inline wrappers for pthread mutex locking.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 11:28:25 +02:00
Alexandre Julliard
2eed0cdb8f
include: Don't use IsBadStringPtr in debug functions for Unix libraries.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-18 15:13:42 +02:00
Alexandre Julliard
4e80f2ea5e
ntdll: Add a helper function to try an mmap at a fixed address.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-03 10:54:17 +02:00
Alexandre Julliard
72b97eeba0
ntdll: Add a helper function for memory allocations through mmap().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-03 10:52:11 +02:00
Alexandre Julliard
74deee7df0
ntdll: Add a helper function for fixed anonymous mmaps.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-03 10:51:09 +02:00
Alexandre Julliard
5b4b877488
ntdll: Move the reserved area functions to avoid forward declarations.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-02 16:30:03 +02:00
Alexandre Julliard
7b96e82fd5
ntdll: Make the reserved area functions static.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-02 16:30:03 +02:00
Alexandre Julliard
65c37cee24
ntdll: Use exported APIs instead of virtual_map_section() to load PE modules.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 14:16:54 +02:00
Alexandre Julliard
a8ddcf7dfe
ntdll: Use syscalls for a couple of Wine internal functions.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-25 19:31:43 +02:00
Alexandre Julliard
97847eeee8
ntdll: Avoid referencing winecrt0 exception handlers from the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 22:14:44 +02:00
Alexandre Julliard
53e0bf2f9f
ntdll: Don't expect LdrInitializeThunk() to return to the Unix side.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-20 18:45:53 +02:00
Evgeny Litvinenko
69f1b12a30
ntdll: Add check for totalram, mem_unit in struct sysinfo.
...
Signed-off-by: Evgeny Litvinenko <evgeny.v.litvinenko@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-03 15:52:15 +02:00
Alexandre Julliard
a865a4f61d
ntdll: Allocate 64-bit TEB and PEB in WoW64 mode.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:26:18 +02: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
Alexandre Julliard
9018a37735
ntdll: Call virtual_set_large_address_space() directly from the Unix side.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:38:40 +02:00
Alexandre Julliard
131e53a1fc
ntdll: Avoid private Unix functions in RtlCreateUserStack().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-22 14:38:40 +02:00
Alexandre Julliard
0e45f7b4cd
ntdll: Move various stub functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-20 20:14:41 +02:00
Alexandre Julliard
ca45eda758
ntdll: Add a helper function to push the exception data to the thread stack.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 10:30:45 +02:00
Alexandre Julliard
9a9fb47e24
ntdll: Also handle stack guard page faults in virtual_handle_fault().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 10:29:50 +02:00
Alexandre Julliard
f1e4c54104
ntdll: Add a helper function to grow the stack on guard page faults.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 10:28:57 +02:00
Alexandre Julliard
432d504118
ntdll: Pass the stack address to the virtual_handle_fault() function.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 10:28:26 +02:00
Alexandre Julliard
99851ca4c2
ntdll: Initialize the thread signal stack in the common code.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 10:23:00 +02:00
Paul Gofman
fdb3d9ae32
ntdll: Use MAP_FIXED_NOREPLACE flag in try_map_free_area() if available.
...
Avoids actual mapping followed by unmapping back if the memory range is
already mapped.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:26:23 +02:00
Paul Gofman
5498ebd8c0
ntdll: Stop search on mmap() error in try_map_free_area().
...
The anon mmap errors do not depend on start address hint. Ignoring them
makes the search take incredible time until it fails.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:26:23 +02:00
Alexandre Julliard
0357d2ca75
ntdll: Avoid using RtlInitUnicodeString() in the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-10 07:57:59 +02:00
Alexandre Julliard
eccd21e387
ntdll: Add a helper function to retrieve the NT headers of the main exe.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-10 07:56:18 +02:00
Alexandre Julliard
113e9811c4
ntdll: Clear the reply data on error in virtual_locked_server_call().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 15:34:00 +02:00
Alexandre Julliard
086072ca6a
ntdll: Reserve memory areas on all platforms.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-05 09:25:17 +02:00
Alexandre Julliard
695bf7a645
ntdll: Update working set limit also when loading a builtin dll.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-04 19:07:36 +02:00
Alexandre Julliard
72fc2ceaa6
ntdll: Use pthread mutexes for uninterrupted sections in the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-03 12:02:58 +02:00
Alexandre Julliard
f89f7a54c2
ntdll: Support loading a PE-format ntdll.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 12:21:15 +02:00
Alexandre Julliard
4fcf20d1d1
ntdll: Move part of the PE image mapping code into virtual_map_section().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-30 12:21:15 +02:00
Alexandre Julliard
9b9845e43e
ntdll: Move the system information functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 20:23:55 +02:00
Alexandre Julliard
31538a79a9
ntdll: Move the loading of .so dlls to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-23 20:09:42 +02:00
Alexandre Julliard
a0b7fb9bb2
ntdll: Move the image address initialization to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 14:48:15 +02:00
Alexandre Julliard
e84ec36a62
ntdll: Move the thread get/set information functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 14:48:15 +02:00
Alexandre Julliard
44a230937b
ntdll: Move the remaining process functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-18 14:48:15 +02:00
Alexandre Julliard
f6bfb4ce00
ntdll: Move the device I/O control functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-16 18:36:30 +02:00
Alexandre Julliard
888d66a237
ntdll: Move the file read/write functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-16 18:36:30 +02:00
Alexandre Julliard
e9e5c95058
ntdll: Move the process information functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-16 18:36:30 +02:00
Alexandre Julliard
c4c3b06e83
ntdll: Move the NtCreateUserProcess() implementation to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-16 12:04:13 +02:00
Alexandre Julliard
e0fca94511
ntdll: Move the directory functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-12 16:42:24 +02:00
Alexandre Julliard
a4ce2f652d
ntdll: Move Nt system time functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:18 +02:00
Alexandre Julliard
2333099c52
ntdll: Move signal handlers to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-09 15:25:52 +02:00
Alexandre Julliard
4ffe39573b
ntdll: Move mapping of the user shared data to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 22:36:38 +02:00
Alexandre Julliard
cd0c598802
ntdll: Consolidate some of the init routines into the init_threading() entry point.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 22:36:38 +02:00
Alexandre Julliard
f1d40d4824
ntdll: Move more of the thread exit code to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 21:26:47 +02:00
Alexandre Julliard
35b063a404
ntdll: Move the thread creation code to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 21:09:13 +02:00
Alexandre Julliard
be0eb9c92e
ntdll: Move the thread startup code to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 20:01:16 +02:00
Alexandre Julliard
c96ef78b6d
ntdll: Move the virtual memory functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-02 17:19:12 +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
Damjan Jovanovic
8c3e6c378d
ntdll: Reserve the area whenever possible in reserve_area() on FreeBSD.
...
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-25 20:21:00 +02:00
Alexandre Julliard
aaa654abd6
ntdll: Store reserved areas in the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-17 11:07:44 +02:00
Alexandre Julliard
625209433f
ntdll: Move the mmap reserved area functions to the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-17 11:07:39 +02:00
Alexandre Julliard
7e6a67d8c9
ntdll: Set up virtual memory layout in the Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 23:12:31 +02:00