ntdll: Fix Cpsr value in CONTEXT_ARM64.

The CPU can be configured to not allow reading DAIF in EL0t (User
Mode), and for debugging purpose NZCV might be more interesting.
Reported by Stefan Dösinger

Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
André Hentschel 2017-06-04 18:51:59 +02:00 committed by Alexandre Julliard
parent 37d7c51905
commit 99db4c697d

View File

@ -185,7 +185,7 @@ __ASM_STDCALL_FUNC( RtlCaptureContext, 8,
"mov w1, #0x400000\n\t" /* CONTEXT_ARM64 */
"add w1, w1, #0x3\n\t" /* CONTEXT_FULL */
"str w1, [x0]\n\t" /* context->ContextFlags */ /* 32-bit, look at cpsr */
"mrs x1, DAIF\n\t"
"mrs x1, NZCV\n\t"
"str w1, [x0, #0x4]\n\t" /* context->Cpsr */
"ldp x0, x1, [sp], #32\n\t"
"str x0, [x0, #0x8]\n\t" /* context->X0 */