| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
| Uwe Zeisberger | f30c226 | 2006-10-03 23:01:26 +0200 | [diff] [blame] | 2 |  * arch/alpha/lib/dbg_stackcheck.S | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 3 |  * Contributed by Richard Henderson (rth@tamu.edu) | 
 | 4 |  * | 
 | 5 |  * Verify that we have not overflowed the stack.  Oops if we have. | 
 | 6 |  */ | 
 | 7 |  | 
| Sam Ravnborg | e2d5df9 | 2005-09-09 21:28:48 +0200 | [diff] [blame] | 8 | #include <asm/asm-offsets.h> | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 9 |  | 
 | 10 | 	.text | 
 | 11 | 	.set noat | 
 | 12 |  | 
 | 13 | 	.align 3 | 
 | 14 | 	.globl _mcount | 
 | 15 | 	.ent _mcount | 
 | 16 | _mcount: | 
 | 17 | 	.frame $30, 0, $28, 0 | 
 | 18 | 	.prologue 0 | 
 | 19 |  | 
 | 20 | 	lda	$0, TASK_SIZE($8) | 
 | 21 | 	cmpult	$30, $0, $0 | 
 | 22 | 	bne	$0, 1f | 
 | 23 | 	ret	($28) | 
 | 24 | 1:	stq	$31, -8($31)	# oops me, damn it. | 
 | 25 | 	br	1b | 
 | 26 |  | 
 | 27 | 	.end _mcount |