162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * arch/alpha/lib/dbg_stackcheck.S 462306a36Sopenharmony_ci * Contributed by Richard Henderson (rth@tamu.edu) 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Verify that we have not overflowed the stack. Oops if we have. 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include <asm/asm-offsets.h> 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci .text 1262306a36Sopenharmony_ci .set noat 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci .align 3 1562306a36Sopenharmony_ci .globl _mcount 1662306a36Sopenharmony_ci .ent _mcount 1762306a36Sopenharmony_ci_mcount: 1862306a36Sopenharmony_ci .frame $30, 0, $28, 0 1962306a36Sopenharmony_ci .prologue 0 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci lda $0, TASK_SIZE($8) 2262306a36Sopenharmony_ci cmpult $30, $0, $0 2362306a36Sopenharmony_ci bne $0, 1f 2462306a36Sopenharmony_ci ret ($28) 2562306a36Sopenharmony_ci1: stq $31, -8($31) # oops me, damn it. 2662306a36Sopenharmony_ci br 1b 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci .end _mcount 29