On Windows, page walking is known as __chkstk.
authorEmilia Kasper <emilia@openssl.org>
Tue, 15 Mar 2016 22:04:14 +0000 (23:04 +0100)
committerRichard Levitte <levitte@openssl.org>
Tue, 15 Mar 2016 22:56:23 +0000 (23:56 +0100)
Reviewed-by: Andy Polyakov <appro@openssl.org>
crypto/bn/asm/x86-mont.pl
crypto/bn/asm/x86_64-mont.pl
crypto/bn/asm/x86_64-mont5.pl

index 50d3350..7c4e0b2 100755 (executable)
@@ -88,6 +88,8 @@ $frame=32;                            # size of above frame rounded up to 16n
 
        &and    ("esp",-64);            # align to cache line
 
+       # An OS-agnostic version of __chkstk.
+       #
        # Some OSes (Windows) insist on stack being "wired" to
        # physical memory in strictly sequential manner, i.e. if stack
        # allocation spans two pages, then reference to farmost one can
index f8070ca..3e0a78e 100755 (executable)
@@ -130,6 +130,8 @@ $code.=<<___;
 
        mov     %r11,8(%rsp,$num,8)     # tp[num+1]=%rsp
 .Lmul_body:
+       # An OS-agnostic version of __chkstk.
+       #
        # Some OSes (Windows) insist on stack being "wired" to
        # physical memory in strictly sequential manner, i.e. if stack
        # allocation spans two pages, then reference to farmost one can
index 712bfbc..aa6a5d1 100755 (executable)
@@ -115,6 +115,8 @@ $code.=<<___;
 
        mov     %rax,8(%rsp,$num,8)     # tp[num+1]=%rsp
 .Lmul_body:
+       # An OS-agnostic version of __chkstk.
+       #
        # Some OSes (Windows) insist on stack being "wired" to
        # physical memory in strictly sequential manner, i.e. if stack
        # allocation spans two pages, then reference to farmost one can