Alexandre Julliard
401f4b717a
server: Make mem_size_t always 64-bit.
2008-12-17 19:25:09 +01:00
Alexandre Julliard
a2089abd94
ntdll: Enforce correct protection values in virtual memory functions.
2008-12-11 14:05:42 +01:00
Alexandre Julliard
d1b3d484f7
server: Add functions for conversions between server object handles and pointer-style handles.
2008-12-08 16:05:17 +01:00
Maarten Lankhorst
269600bbed
ntdll: Make 64-bits wine only able to load amd64 binaries.
2008-11-25 12:33:28 +01:00
Alexandre Julliard
af8bb2e922
ntdll: Add support for virtual write watches.
2008-11-25 12:07:35 +01:00
Alexandre Julliard
81b9ca5dbd
ntdll: Pass the error code to VIRTUAL_HandleFault, and allow it to ignore the exception.
...
Also rename it to virtual_handle_fault for consistency.
2008-11-25 12:02:16 +01:00
Alexandre Julliard
aece8e0700
ntdll: Check for valid memory view size directly in VIRTUAL_FindView.
2008-11-25 11:58:50 +01:00
Alexandre Julliard
f3e70ee00e
ntdll: Get rid of the Wine-specific MEM_SYSTEM flag.
2008-11-18 20:14:46 +01:00
Alexandre Julliard
f4eaa15aec
kernel32: Moved allocation of the DOS memory area to ntdll.
2008-11-18 20:11:49 +01:00
Alexandre Julliard
28c411b627
ntdll: Get rid of the unaligned_mmap wrapper.
2008-11-17 20:34:19 +01:00
Alexandre Julliard
a0c4bfef9d
ntdll: Add private function to manage system virtual views instead of abusing NtAllocateVirtualMemory.
2008-11-14 17:40:54 +01:00
Alexandre Julliard
6c7ff61639
ntdll: Added stubs for NtGetWriteWatch and NtResetWriteWatch.
2008-11-14 11:02:15 +01:00
Alexandre Julliard
66a39678e9
ntdll: Store correct values in the various limits on all platforms instead of using 0.
2008-11-07 11:04:07 +01:00
Alexandre Julliard
1ca7b881d7
ntdll: Do not report non-reserved memory areas as free since we don't know what's in them.
2008-11-06 15:00:58 +01:00
Alexandre Julliard
eb96fbf346
ntdll: Keep track of the current working set limit independently of system views that may be allocated beyond it.
2008-11-06 11:42:58 +01:00
Alexandre Julliard
5e2ed6bfe9
ntdll,server: Fixed access checks for OpenFileMapping and MapViewOfFile.
2008-11-05 20:32:32 +01:00
Alexandre Julliard
f21096ad01
ntdll: Don't force anonymous file mappings to always be fully committed.
2008-11-05 12:31:49 +01:00
Alexandre Julliard
cdce50f5be
ntdll: Store the per-page committed status in the server for anonymous file mappings.
2008-11-05 12:31:37 +01:00
Alexandre Julliard
7e94787948
ntdll: Add a noexec flag for memory views where we don't want to force exec permission.
2008-11-04 13:16:01 +01:00
Alexandre Julliard
0b0b6c351a
ntdll: Store the per-view flags in the high word of the page protection bits.
2008-11-04 13:05:37 +01:00
Alexandre Julliard
3d6313c9ce
ntdll: Return more correct information for SystemBasicInformation and GetSystemInfo.
2008-11-03 13:34:13 +01:00
Alexandre Julliard
222e406deb
ntdll: Create a separate heap for allocating memory views instead of using malloc.
2008-10-31 13:00:59 +01:00
Alexandre Julliard
56788cc5b6
ntdll: Use the end of the reserved area as address space limit, in case we have more than 3Gb available.
2008-10-28 13:51:36 +01:00
Alexandre Julliard
eaae717ede
ntdll: Make sure the last relocation contains some data.
2008-10-27 13:19:30 +01:00
John Reiser
adda485933
ntdll: Tell valgrind to load the .pdb debugging info for the module that was just loaded.
2008-07-25 12:16:11 +02:00
Alexandre Julliard
8e5f281276
ntdll: Add some sanity checks for invalid relocation blocks.
2008-06-30 12:51:35 +02:00
Alexandre Julliard
58d076b419
ntdll: Force execute permission again on the stack after clearing it.
2008-06-26 21:10:57 +02:00
James Hawkins
36e73d296b
ntdll: Remove NULL checks for attr, which has already been dereferenced.
2008-05-20 15:43:54 +02:00
Alexandre Julliard
ce21f2924f
ntdll: Use LdrProcessRelocationBlock to apply relocations.
...
Don't apply relocations to non page-aligned binaries.
2008-04-02 20:39:22 +02:00
Alexandre Julliard
cc33f6c8a5
ntdll: Add a guard page at the bottom of the stack and raise a stack overflow exception when hit.
2008-04-01 17:40:37 +02:00
Alexandre Julliard
061bfac076
ntdll: Add support for handling page faults caused by guard pages on the thread stack.
2008-04-01 17:37:24 +02:00
Alexandre Julliard
600694546f
ntdll: Moved stack allocation for thread and process to a common routine in virtual.c.
2008-04-01 14:11:44 +02:00
Dmitry Timoshkov
bf89330fb6
ntdll: Do not perform base relocation if an image is not a DLL.
2008-01-17 14:25:15 +01:00
Alexandre Julliard
a39ac0a701
ntdll: Print an error for unsupported shared writable mappings.
2008-01-03 13:20:03 +01:00
Dmitry Timoshkov
f2f3de20ac
ntdll: Initialize the APC call union to suppress valgrind warnings. Take 2.
2007-12-11 17:49:57 +01:00
Rob Shearman
f98556c119
server: Add the name length to the object_attributes structure so that other variable length data can be present after object_attributes.
2007-10-30 14:18:05 +01:00
Rob Shearman
23df453d38
server: Make create_mapping use struct object_attributes and set the security descriptor of file mapping objects.
2007-10-26 12:45:29 +02:00
Alexandre Julliard
235532ce28
server: Use the file_pos_t type for file sizes and offsets in the protocol structures.
2007-10-10 14:06:25 +02:00
Peter Oberndorfer
073dd7dde2
ntdll: NtAreMappedFilesTheSame semi stub.
2007-09-27 12:47:15 +02:00
Andrew Talbot
e3708a60b4
ntdll: Constify some variables.
2007-06-28 11:00:53 +02:00
Dmitry Timoshkov
e142779b09
ntdll: Fix compilation warnings in 64-bit mode.
2007-05-23 13:10:20 +02:00
Andrew Talbot
9fe3b60f12
ntdll: Exclude unused headers.
2007-05-15 12:19:31 +02:00
Alexandre Julliard
9d09e699d6
ntdll: Get rid of the no longer used is_current_process function.
2007-01-18 15:18:12 +01:00
Alexandre Julliard
02e2fa7798
ntdll: Implementation of inter-process NtMapViewOfSection and NtUnmapViewOfSection.
2007-01-18 15:17:51 +01:00
Alexandre Julliard
c122260b9d
ntdll: Implemented NtLockVirtualMemory and NtUnlockVirtualMemory.
2007-01-16 09:50:08 +01:00
Alexandre Julliard
5a1ad74a67
ntdll: Implementation of inter-process NtFlushVirtualMemory.
2007-01-15 22:31:07 +01:00
Alexandre Julliard
1ea968016f
ntdll: Implementation of inter-process VirtualProtectEx.
2007-01-15 22:30:04 +01:00
Alexandre Julliard
3d00239586
ntdll: Implementation of inter-process VirtualQueryEx.
2007-01-15 22:28:42 +01:00
Alexandre Julliard
7a00142bc1
ntdll: Implementation of inter-process VirtualAllocEx and VirtualFreeEx.
2007-01-15 22:27:40 +01:00
Alexandre Julliard
146fb0de02
ntdll: Make the virtual.c critical section uninterruptible by signals.
...
Based on a patch by Thomas Kho.
2007-01-12 20:15:52 +01:00
Alexandre Julliard
3c55f78f52
ntdll: Fix handling of 64-bit sizes in NtMapViewOfSection.
2007-01-12 15:01:44 +01:00
Alexandre Julliard
4cbe867a85
ntdll: Duplicate the mapping handle on the server side for NtMapViewOfSection.
2007-01-12 14:55:31 +01:00
Alexandre Julliard
5bd513640b
ntdll: Moved the check for removable file in load_dll to the server.
2007-01-12 14:42:43 +01:00
Alexandre Julliard
9fed1205ca
ntdll: File positions should be aligned to sector boundaries in PE loader.
2006-12-21 12:34:44 +01:00
Alexandre Julliard
e5477b35f4
ntdll: Fixed typo in map_image.
2006-12-20 12:31:20 +01:00
Alexandre Julliard
3dc21d387b
ntdll: Map the PE header up to the specified size, and clear the rest of the page.
2006-12-13 16:04:49 +01:00
Alexandre Julliard
94ac989534
ntdll: Fix the failing loader tests.
2006-12-07 15:34:36 +01:00
Alexandre Julliard
822be6c90f
ntdll: Force exec permissions on all mmaps unless the app is marked NX-compatible.
2006-12-05 15:42:29 +01:00
Alexandre Julliard
8385f137b5
ntdll: Don't free the DOS area when a broken app passes a NULL pointer to NtFreeVirtualMemory.
2006-12-01 11:38:52 +01:00
Alexandre Julliard
83ce958793
ntdll: Store the fd type in the cache and return it in server_get_unix_fd.
2006-11-20 14:15:06 +01:00
Francois Gouget
30e44c85c8
Assorted spelling fixes.
2006-11-07 15:25:24 +01:00
Alexandre Julliard
9ddb9294da
ntdll: Added a server_get_unix_fd function that avoids doing a dup() of the fd when not required.
2006-11-03 11:38:44 +01:00
Hans Leidekker
f7b0ba7aa7
ntdll: Win64 printf format warning fixes.
2006-10-18 12:35:26 +02:00
Robert Shearman
c88bbd8092
ntdll: NtAllocateVirtual with type of MEM_WRITE_WATCH fails with STATUS_NOT_SUPPORTED on Win2000 instead of STATUS_INVALID_PARAMETER.
2006-09-28 11:55:45 +02:00
Alexandre Julliard
f114ba119c
ntdll: Use the right section size when setting protections.
...
Use the same size computation when setting section protections than
when mapping it in the first place (reported by Nicholas Miell).
2006-07-30 09:59:46 +02:00
Alexandre Julliard
6c9ade0529
ntdll: Allocate the PEB with NtAllocateVirtualMemory too.
2006-07-24 15:19:32 +02:00
Alexandre Julliard
cc297050f9
ntdll: Support memory allocations inside reserved areas.
2006-07-24 14:00:19 +02:00
Alexandre Julliard
c060cdbc14
ntdll: Propagate the MEM_TOP_DOWN flag into the map_view() function.
2006-07-24 13:59:44 +02:00
Alexandre Julliard
0c453bc7c6
ntdll: Use NtAllocateVirtualMemory to allocate all TEBs except the first one.
2006-07-21 20:20:30 +02:00
Alexandre Julliard
2cb0f43224
kernel: Added support for exec'ing a new Win32 process.
...
Use it to restart execution if the main binary can't be loaded because
of address space conflicts, and also for Win16/DOS support.
2006-07-19 14:12:58 +02:00
Alexandre Julliard
c79cf02fae
ntdll: Make sure to not unmap anything from reserved areas
...
when using NtFreeVirtualMemory with the MEM_SYSTEM flag.
2006-07-13 20:47:07 +02:00
Alexandre Julliard
bb63a325d7
ntdll: Use the map_view() function to allocate TEBs, now that it supports an arbitrary granularity.
2006-07-13 20:38:31 +02:00
Alexandre Julliard
8f47bd0306
ntdll: Support for arbitrary memory allocation granularity.
2006-07-13 20:36:41 +02:00
Dmitry Timoshkov
0042ad4fc7
ntdll: Compile VIRTUAL_Dump only when somebody really needs it.
2006-06-20 20:39:17 +02:00
Francois Gouget
f248440dd4
ntdll: Use page_size instead of page_mask+1.
2006-06-16 11:31:51 +02:00
Robert Shearman
850ae994c6
ntdll: Change the test for no relocation information to use the
...
IMAGE_FILE_RELOCS_STRIPPED flag instead of a zero sized relocations
section.
This fixes loading of resource-only DLLs that have a load-address of
0x400000.
2006-06-14 13:37:25 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Marcus Meissner
08c2555dd8
ntdll: Make the section with AddressOfEntryPoint in it executable.
2006-05-09 12:47:25 +02:00
Detlef Riekenberg
44aab2e23f
ntdll: Added ARM architecture.
2006-04-08 15:49:24 +02:00
Alexandre Julliard
959bbf8b75
server: Get rid of alignment requirements in write_process_memory request.
...
All the alignment handling is now done in the write_process_memory
function inside the server.
2006-04-07 18:41:58 +02:00
Alexandre Julliard
18d7980fd8
ntdll: Limit header_size to the file size.
2006-03-27 21:29:46 +02:00
Alexandre Julliard
7bd0cdafc2
ntdll: Use PROT_NONE instead of 0.
2006-02-24 11:31:24 +01:00
Francois Gouget
f8ed165609
ntdll: Protect sys/stat.h inclusion.
2006-02-07 21:17:45 +01:00
Alexandre Julliard
eca9e4449c
ntdll: Round PE header size to a page boundary for size checks.
2006-01-13 13:52:07 +01:00
Alexandre Julliard
9eae2d714d
ntdll: Round up the mapping size in map_file_into_view when setting
...
the protection bytes.
2006-01-11 20:59:07 +01:00
Alexandre Julliard
67f29999a3
ntdll: Check file size when mapping image sections to avoid SIGBUS errors.
2006-01-03 17:39:23 +01:00
Alexandre Julliard
efffa66330
ntdll: Don't use a real guard page at the bottom of the stack.
...
A no-access page is enough, we can't properly raise an overflow
exception anyway.
2005-12-17 18:47:03 +01:00
Alexandre Julliard
354e7700b3
ntdll: Fixes in virtual memory protection flags.
...
Tweak reporting of virtual protection flags and address space limit to
yield results closer to what Windows does.
2005-12-14 12:17:59 +01:00
Alexandre Julliard
f3dad37ba2
TEB.StackLimit should not include the guard page.
2005-12-12 17:28:32 +01:00
Alexandre Julliard
59797f292e
Pass specific access rights to wine_server_handle_to_fd.
2005-12-12 17:15:26 +01:00
Vitaliy Margolen
348a3d912b
Move mapping (section) objects into directory name space.
2005-12-02 16:13:13 +01:00
Alexandre Julliard
cb56bdf884
Check for need to add area to the reserved list also on unmap.
2005-12-01 18:44:04 +01:00
Alexandre Julliard
e3ef6314fd
Ignore the large address space flag when version is win9x.
2005-12-01 18:42:39 +01:00
Ge van Geldorp
1a1583a364
Match PSDK STATUS_* definitions.
2005-11-28 17:32:54 +01:00
Vitaliy Margolen
a996000ad5
- Send whole OBJECT_ATTRIBUTES.Attributes to the server not just an
...
inherit flag.
- Pass DesiredAccess to the server when creating mailslot.
2005-10-27 18:30:37 +00:00
Francois Gouget
baab789ce8
Replace the 'if (!cond) ; else code' construct with the standard 'do {
...
code } while (0)' construct combined with a regular 'if'.
2005-09-26 09:57:38 +00:00
Alexandre Julliard
9f859692f9
Replace DPRINTF by TRACE in a few places.
2005-09-25 15:23:21 +00:00
Alexandre Julliard
489c6b3865
Ignore relocations for unmapped pages.
2005-09-21 09:47:12 +00:00
Alexandre Julliard
06ea6e6e3f
Fixed a few pointer truncation bugs for 64-bit platforms.
2005-09-16 18:54:19 +00:00
Alexandre Julliard
fb9cead92b
Support arbitrary sizes for the thread signal stack, and set the
...
default size from the MINSIGSTKSZ constant.
2005-09-14 10:36:58 +00:00