^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * arch/alpha/lib/dbg_stackcheck.S
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) * Contributed by Richard Henderson (rth@tamu.edu)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * Verify that we have not overflowed the stack. Oops if we have.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #include <asm/asm-offsets.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) .text
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) .set noat
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) .align 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) .globl _mcount
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) .ent _mcount
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) _mcount:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) .frame $30, 0, $28, 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) .prologue 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) lda $0, TASK_SIZE($8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) cmpult $30, $0, $0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) bne $0, 1f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) ret ($28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 1: stq $31, -8($31) # oops me, damn it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) br 1b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) .end _mcount