1*67443687STimo Kreuzer/* 2*67443687STimo Kreuzer * PROJECT: ReactOS API tests 3*67443687STimo Kreuzer * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) 4*67443687STimo Kreuzer * PURPOSE: Helper functions for NtContinue test 5*67443687STimo Kreuzer * COPYRIGHT: Copyright 2022 Timo Kreuzer (timo.kreuzer@reactos.org) 6*67443687STimo Kreuzer */ 7*67443687STimo Kreuzer 8*67443687STimo Kreuzer#include <asm.inc> 9*67443687STimo Kreuzer#include <ksamd64.inc> 10*67443687STimo Kreuzer 11*67443687STimo Kreuzer.code64 12*67443687STimo Kreuzer 13*67443687STimo KreuzerEXTERN RtlCaptureContext:PROC 14*67443687STimo KreuzerEXTERN check:PROC 15*67443687STimo Kreuzer 16*67443687STimo KreuzerPUBLIC continuePoint 17*67443687STimo Kreuzer.PROC continuePoint 18*67443687STimo Kreuzer 19*67443687STimo Kreuzer // Allocate space for a CONTEXT structure 20*67443687STimo Kreuzer .ALLOCSTACK CONTEXT_FRAME_LENGTH + 8 21*67443687STimo Kreuzer .ENDPROLOG 22*67443687STimo Kreuzer 23*67443687STimo Kreuzer // Capture the current CONTEXT 24*67443687STimo Kreuzer mov rcx, rsp 25*67443687STimo Kreuzer call RtlCaptureContext 26*67443687STimo Kreuzer 27*67443687STimo Kreuzer // Call the function that will compare the current context with the expected one 28*67443687STimo Kreuzer cld 29*67443687STimo Kreuzer mov rcx, rsp 30*67443687STimo Kreuzer call check 31*67443687STimo Kreuzer 32*67443687STimo Kreuzer // check() must not return 33*67443687STimo Kreuzer int 3 34*67443687STimo Kreuzer 35*67443687STimo Kreuzer.ENDP 36*67443687STimo Kreuzer 37*67443687STimo Kreuzer// EOF 38*67443687STimo KreuzerEND 39