vserver 1.9.5.x5
[linux-2.6.git] / include / asm-um / processor-i386.h
1 /* 
2  * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
3  * Licensed under the GPL
4  */
5
6 #ifndef __UM_PROCESSOR_I386_H
7 #define __UM_PROCESSOR_I386_H
8
9 extern int host_has_xmm;
10 extern int host_has_cmov;
11
12 struct arch_thread {
13         unsigned long debugregs[8];
14         int debugregs_seq;
15 };
16
17 #define INIT_ARCH_THREAD { .debugregs           = { [ 0 ... 7 ] = 0 }, \
18                            .debugregs_seq       = 0 }
19
20 #include "asm/arch/user.h"
21
22 /*
23  * Default implementation of macro that returns current
24  * instruction pointer ("program counter"). Stolen
25  * from asm-i386/processor.h
26  */
27 #define current_text_addr() \
28         ({ void *pc; __asm__("movl $1f,%0\n1:":"=g" (pc)); pc; })
29
30 #define ARCH_IS_STACKGROW(address) \
31        (address + 32 >= UPT_SP(&current->thread.regs.regs))
32
33 #include "asm/processor-generic.h"
34
35 #endif
36
37 /*
38  * Overrides for Emacs so that we follow Linus's tabbing style.
39  * Emacs will notice this stuff at the end of the file and automatically
40  * adjust the settings for this buffer only.  This must remain at the end
41  * of the file.
42  * ---------------------------------------------------------------------------
43  * Local variables:
44  * c-file-style: "linux"
45  * End:
46  */