Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / arch / alpha / lib / dbg_stackkill.S
diff --git a/kernel/arch/alpha/lib/dbg_stackkill.S b/kernel/arch/alpha/lib/dbg_stackkill.S
new file mode 100644 (file)
index 0000000..c1e40a1
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * arch/alpha/lib/dbg_stackkill.S
+ * Contributed by Richard Henderson (rth@cygnus.com)
+ *
+ * Clobber the balance of the kernel stack, hoping to catch
+ * uninitialized local variables in the act.
+ */
+
+#include <asm/asm-offsets.h>
+
+       .text
+       .set noat
+
+       .align 5
+       .globl _mcount
+       .ent _mcount
+_mcount:
+       .frame $30, 0, $28, 0
+       .prologue 0
+
+       ldi     $0, 0xdeadbeef
+       lda     $2, -STACK_SIZE
+       sll     $0, 32, $1
+       and     $30, $2, $2
+       or      $0, $1, $0
+       lda     $2, TASK_SIZE($2)
+       cmpult  $2, $30, $1
+       beq     $1, 2f
+1:     stq     $0, 0($2)
+       addq    $2, 8, $2
+       cmpult  $2, $30, $1
+       bne     $1, 1b
+2:     ret     ($28)
+
+       .end _mcount