blob: 1590d88ae7aec386866a9fc62e3ab5aaa712004a [file] [log] [blame]
include ksamd64.inc
text SEGMENT EXECUTE
public __chkstk
__chkstk:
sub rsp,010h
mov QWORD PTR [rsp],r10
mov QWORD PTR [rsp+08h],r11
xor r11,r11
lea r10,[rsp+018h]
sub r10,rax
cmovb r10,r11
mov r11,QWORD PTR gs:[TeStackLimit]
cmp r10,r11
jae chkstk_finish
and r10w,0f000h
chkstk_loop:
lea r11,[r11-PAGE_SIZE]
mov BYTE PTR [r11],0h
cmp r10,r11
jne chkstk_loop
chkstk_finish:
mov r10,QWORD PTR [rsp]
mov r11,QWORD PTR [rsp+08h]
add rsp,010h
ret
end