1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * arch/alpha/lib/dbg_stackkill.S
4  * Contributed by Richard Henderson (rth@cygnus.com)
5  *
6  * Clobber the balance of the kernel stack, hoping to catch
7  * uninitialized local variables in the act.
8  */
9 
10 #include <asm/asm-offsets.h>
11 
12 	.text
13 	.set noat
14 
15 	.align 5
16 	.globl _mcount
17 	.ent _mcount
18 _mcount:
19 	.frame $30, 0, $28, 0
20 	.prologue 0
21 
22 	ldi	$0, 0xdeadbeef
23 	lda	$2, -STACK_SIZE
24 	sll	$0, 32, $1
25 	and	$30, $2, $2
26 	or	$0, $1, $0
27 	lda	$2, TASK_SIZE($2)
28 	cmpult	$2, $30, $1
29 	beq	$1, 2f
30 1:	stq	$0, 0($2)
31 	addq	$2, 8, $2
32 	cmpult	$2, $30, $1
33 	bne	$1, 1b
34 2:	ret	($28)
35 
36 	.end _mcount
37