blob: 82a388822cd35c55b006f9dbe0d3f1230b83b620 [file] [log] [blame]
Jeff Dike4b84c692006-09-25 23:33:04 -07001/*
Jeff Dikec14b8492007-05-10 22:22:34 -07002 * Copyright (C) 2006 Jeff Dike (jdike@{addtoit,linux.intel}.com)
Jeff Dike4b84c692006-09-25 23:33:04 -07003 * Licensed under the GPL
4 */
5
6#include <signal.h>
7
Jeff Dikec14b8492007-05-10 22:22:34 -07008extern void handle_signal(int sig, struct sigcontext *sc);
Jeff Dike4b84c692006-09-25 23:33:04 -07009
10void hard_handler(int sig)
11{
12 struct ucontext *uc;
13 asm("movq %%rdx, %0" : "=r" (uc));
14
Jeff Dikec14b8492007-05-10 22:22:34 -070015 handle_signal(sig, (struct sigcontext *) &uc->uc_mcontext);
Jeff Dike4b84c692006-09-25 23:33:04 -070016}