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