diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2008-08-17 13:48:37 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2008-10-22 22:55:19 -0700 |
commit | 8569c9140bd41089f9b6be8837ca421102714a90 (patch) | |
tree | cd289b322b215fe2ca2530aa320febfd99388d7f /arch/um/include/shared/longjmp.h | |
parent | 2515ddc6db8eb49a79f0fe5e67ff09ac7c81eab4 (diff) |
x86, um: take arch/um/include/* out of the way
We can't just plop asm/* into it - userland helpers are built with it
in search path and seeing asm/* show up there suddenly would be a bad
idea.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/um/include/shared/longjmp.h')
-rw-r--r-- | arch/um/include/shared/longjmp.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/um/include/shared/longjmp.h b/arch/um/include/shared/longjmp.h new file mode 100644 index 00000000000..e860bc5848e --- /dev/null +++ b/arch/um/include/shared/longjmp.h @@ -0,0 +1,23 @@ +#ifndef __UML_LONGJMP_H +#define __UML_LONGJMP_H + +#include "sysdep/archsetjmp.h" +#include "os.h" + +extern int setjmp(jmp_buf); +extern void longjmp(jmp_buf, int); + +#define UML_LONGJMP(buf, val) do { \ + longjmp(*buf, val); \ +} while(0) + +#define UML_SETJMP(buf) ({ \ + int n; \ + volatile int enable; \ + enable = get_signals(); \ + n = setjmp(*buf); \ + if(n != 0) \ + set_signals(enable); \ + n; }) + +#endif |