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
301: stq $0, 0($2)
31 addq $2, 8, $2
32 cmpult $2, $30, $1
33 bne $1, 1b
342: ret ($28)
35
36 .end _mcount
37

source code of linux/arch/alpha/lib/dbg_stackkill.S