Alexandre Julliard
af4ef5fa02
ntdll: Always set non-volatile pointers for ARM64 unwinding.
2024-02-16 23:32:06 +01:00
Alexandre Julliard
14a290e77d
ntdll: Implement CLEAR_UNWOUND_TO_CALL unwinding operation on ARM64.
2024-02-16 23:30:34 +01:00
Alexandre Julliard
f4ac9b35c2
ntdll: Implement EC_CONTEXT unwinding operation on ARM64.
2024-02-16 23:30:34 +01:00
Alexandre Julliard
41d7baa013
ntdll: Ignore home parameters saving when unwinding epilog on ARM64.
2024-02-16 23:30:08 +01:00
Alexandre Julliard
9cc5ed1802
ntdll/tests: Simplify testing of unwind register values on ARM64.
2024-02-16 16:43:18 +01:00
Alexandre Julliard
2601a8a2f1
ntdll: Don't count custom stack frames as part of the prolog on ARM64.
2024-02-15 20:31:49 +01:00
Alexandre Julliard
1abebca6dc
ntdll: Ignore end_c when processing ARM64 unwind codes.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55584
2024-02-15 20:31:49 +01:00
Alexandre Julliard
a271fc9e19
ntdll: Add support for the save_any_reg ARM64 unwind code.
...
Based on a patch by Billy Laws.
2024-02-15 20:31:49 +01:00
Alexandre Julliard
0b3d3ad2b7
ntdll: Support ARM64EC code in RtlLookupFunctionEntry.
2024-02-13 22:37:49 +01:00
Alexandre Julliard
215a8e68d3
ntdll: Move RtlLookupFunctionEntry() to the CPU backends.
2024-02-13 21:57:02 +01:00
Alexandre Julliard
b9a985a677
include: Add some public exception handling structures.
2024-02-13 17:59:38 +01:00
Alexandre Julliard
df8d907fb4
ntdll/tests: Don't use x86-64 assembly on ARM64EC.
2024-02-12 23:01:55 +01:00
Alexandre Julliard
de492f9a34
ntdll: Implement RtlLookupFunctionTable.
2024-02-12 22:53:21 +01:00
Alexandre Julliard
13b0f22cf9
ntdll/tests: Mark a failing test as todo.
2024-02-09 18:00:04 +01:00
Alexandre Julliard
cf7c48e036
ntdll: Fix RtlWow64GetCurrentMachine() result on ARM64EC.
2024-02-08 23:31:24 +01:00
Alexandre Julliard
8c703f3e2f
ntdll: Redirect the module entry point for ARM64EC modules.
2024-02-08 17:07:22 +01:00
Alexandre Julliard
e05c6c8211
server: Don't update the entry point in the image information for ARM64EC modules.
2024-02-08 17:07:22 +01:00
Alexandre Julliard
818b577727
ntdll/tests: Add some process machine tests for ARM64X.
2024-02-07 15:46:01 +01:00
Paul Gofman
f8ee879002
ntdll/tests: Fix test_user_shared_data() for a more generic set of present features.
2024-02-01 21:47:17 +01:00
Louis Lenders
a24039ad09
ntdll: Add stub for RtlGetDeviceFamilyInfoEnum.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56259
2024-01-31 11:04:29 +01:00
Alexandre Julliard
adf5f5fd30
ntdll/tests: Port the exception unwinding tests to ARM.
2024-01-26 17:54:33 +01:00
Alexandre Julliard
32f5efcdb2
ntdll/tests: Port the exception unwinding tests to ARM64.
2024-01-26 17:54:33 +01:00
Dāvis Mosāns
e5aafd9eed
ntdll/tests: Test NtContinue on x86-64.
...
Co-authored-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
2024-01-25 21:06:51 +01:00
Bernhard Übelacker
ab28825ace
ntdll: Fix structure layout in RtlQueryProcessDebugInformation for 64-bit.
...
This is to avoid crash in Process Explorer 17.05.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56235
2024-01-24 21:36:23 +01:00
Paul Gofman
7bd070ae86
ntdll: Return STATUS_DEBUGGER_INACTIVE from NtSystemDebugControl() stub.
2024-01-23 22:56:53 +01:00
Alexandre Julliard
5113e55139
ntdll/tests: Update todos in context tests for new wow64 mode.
2024-01-23 22:56:49 +01:00
Alexandre Julliard
3031f15784
include: Add a typedef for user callback function pointers.
2024-01-22 11:26:56 +01:00
Jinoh Kang
015434d24c
ntdll/tests: Restore x86-64 #AC exception test in test_exceptions().
2024-01-18 18:08:48 +01:00
Jinoh Kang
b07ce09982
ntdll/tests: Avoid misaligned load in exception handler code in run_exception_test_flags().
...
This is required for testing EH behavior on alignment check (#AC)
exceptions.
2024-01-18 18:08:48 +01:00
Alexandre Julliard
fad3e416f8
ntdll/tests: Add exception test for int 2d on x86-64.
2024-01-17 12:16:37 +01:00
Nikolay Sivov
a8f5b292c3
ntdll/tests: Add some tests for creating custom heaps.
2024-01-17 10:58:39 +01:00
Jinoh Kang
9fa27defd7
ntdll/tests: Fix xstate tests failing on Windows 11 and CPU with more XSAVE features.
2024-01-08 20:52:27 +01:00
Jinoh Kang
835f99bdce
ntdll/tests: Don't hard code the maximum XState length in test_extended_context().
...
This is required to support systems with a larger XSAVE area.
2024-01-08 20:52:27 +01:00
Jinoh Kang
7ba9dea999
ntdll/tests: Fix incorrect calculation of context length in test_copy_context().
...
`(BYTE *)dst_ex - (BYTE *)dst` is the size of the legacy context, but
`dst_ex->All` already contains the legacy context. Therefore,
`context_length` has the legacy context size added *twice*.
This becomes a problem when `context_length` exceeds
`sizeof(src_context_buffer)`. This confuses `check_changes_in_range()`,
causing out-of-bounds read and unpredictable test results.
2024-01-08 10:18:26 +01:00
Jinoh Kang
3995ff240a
ntdll/tests: Fix x86-32 extended context end offset in test_copy_context().
...
The penultimate element of `ranges_x86` array has an incorrect value: it
should be *at least* 0x2f0, which is the minimum size of an extended
context.
Fix this by setting it to 0x440, which is the minimum size of an
extended context *with* CONTEXT_I386_XSTATE. This is consistent with
`ranges_amd64`, the penultimate element of which has the minimum size of
an extended context *with* CONTEXT_AMD64_XSTATE.
Note that the incorrect value does not always lead to a test failure,
since check_changes_in_range_() effectively ignores range `start`s that
are not in order. Reproducing the failure requires a system with a
sufficiently large XSAVE area; specifically, the following condition is
necessary for check_changes_in_range_() to pick up the wrong value:
0x2cc < 0x294 + src_ex->XState.Length - sizeof(XSTATE).
2024-01-08 10:18:26 +01:00
Paul Gofman
cbcfaab519
ntdll: Use position independent syscall thunk for NtQueryInformationProcess on i386.
...
Fixes a regression introduced by commit
efd03f40e6
.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55967
2023-12-17 17:42:14 +01:00
Nikolay Sivov
26f11bdfe5
ntdll: Use public type for SystemSupportedProcessorArchitectures returned data.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-12-06 10:20:50 +01:00
Alexandre Julliard
8c41a215b9
ntdll: Skip NtRaiseException() call on ARM when debugger is not present.
2023-12-04 22:10:20 +01:00
Alexandre Julliard
5b06847214
ntdll: Fix stack layout for KiUserCallbackDispatcher on ARM.
2023-12-03 14:21:20 +01:00
Alexandre Julliard
75d0d466ec
ntdll: Fix stack layout for KiUserApcDispatcher on ARM.
2023-12-03 14:16:42 +01:00
Alexandre Julliard
89f3c59739
ntdll: Fix stack layout for KiUserExceptionDispatcher on ARM.
2023-12-03 14:15:52 +01:00
Alexandre Julliard
42046a24d4
ntdll: Implement context and machine frame unwind operations on ARM.
2023-12-03 14:15:52 +01:00
Alexandre Julliard
de3fd9e265
ntdll/tests: Fix some compiler warnings on ARM.
2023-12-03 13:46:52 +01:00
Alexandre Julliard
effdb707b0
ntdll/tests: Remove some noisy traces.
2023-12-01 17:21:39 +01:00
Alexandre Julliard
e60a97c1b4
ntdll: Fix stack layout for KiUserCallbackDispatcher on i386.
2023-12-01 17:21:39 +01:00
Alexandre Julliard
3774b00f31
ntdll: Fix stack layout for KiUserApcDispatcher on i386.
2023-12-01 17:21:39 +01:00
Alexandre Julliard
58a00854c3
ntdll: Fix stack layout for KiUserExceptionDispatcher on i386.
2023-12-01 17:21:39 +01:00
Alexandre Julliard
b5cd47f541
ntdll: Skip NtRaiseException() call on ARM64 when debugger is not present.
2023-12-01 17:21:39 +01:00
Alexandre Julliard
d6bd264460
ntdll: Fix stack layout and unwind information for KiUserCallbackDispatcher on ARM64.
2023-12-01 17:21:39 +01:00
Alexandre Julliard
060a8b4af2
ntdll: Fix stack layout and unwind information for KiUserApcDispatcher on ARM64.
2023-12-01 17:21:39 +01:00