Merge git://git.infradead.org/mtd-2.6
[linux-2.6] / arch / um / sys-x86_64 / stub_segv.c
1 /*
2  * Copyright (C) 2004 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
3  * Licensed under the GPL
4  */
5
6 #include <signal.h>
7 #include "as-layout.h"
8 #include "sysdep/stub.h"
9 #include "sysdep/faultinfo.h"
10 #include "sysdep/sigcontext.h"
11
12 void __attribute__ ((__section__ (".__syscall_stub")))
13 stub_segv_handler(int sig)
14 {
15         struct ucontext *uc;
16
17         __asm__ __volatile__("movq %%rdx, %0" : "=g" (uc) :);
18         GET_FAULTINFO_FROM_SC(*((struct faultinfo *) STUB_DATA),
19                               &uc->uc_mcontext);
20         trap_myself();
21 }
22