diff options
author | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2004-12-14 16:38:48 +0000 |
---|---|---|
committer | kaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk> | 2004-12-14 16:38:48 +0000 |
commit | c155842b30d55e66e7ff21281daf99685e910a7c (patch) | |
tree | c25791fba5781e00ca6933568b5967b037053898 /xen/include/asm-x86/uaccess.h | |
parent | b3b32340da8438117ccb8001bfea56427a39f1ab (diff) | |
download | xen-c155842b30d55e66e7ff21281daf99685e910a7c.tar.gz xen-c155842b30d55e66e7ff21281daf99685e910a7c.tar.bz2 xen-c155842b30d55e66e7ff21281daf99685e910a7c.zip |
bitkeeper revision 1.1159.187.66 (41bf1718JfLUlcF63YjP4sfqtgAPWA)
Some more x86/64 progress...
Diffstat (limited to 'xen/include/asm-x86/uaccess.h')
-rw-r--r-- | xen/include/asm-x86/uaccess.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/xen/include/asm-x86/uaccess.h b/xen/include/asm-x86/uaccess.h index 52a8b25c56..46c02ecef4 100644 --- a/xen/include/asm-x86/uaccess.h +++ b/xen/include/asm-x86/uaccess.h @@ -1,6 +1,32 @@ +#ifndef __X86_UACCESS_H__ +#define __X86_UACCESS_H__ + #ifdef __x86_64__ #include <asm/x86_64/uaccess.h> #else #include <asm/x86_32/uaccess.h> #endif + +/* + * The exception table consists of pairs of addresses: the first is the + * address of an instruction that is allowed to fault, and the second is + * the address at which the program should continue. No registers are + * modified, so it is entirely up to the continuation code to figure out + * what to do. + * + * All the routines below use bits of fixup code that are out of line + * with the main instruction path. This means when everything is well, + * we don't even have to jump over them. Further, they do not intrude + * on our cache or tlb entries. + */ + +struct exception_table_entry +{ + unsigned long insn, fixup; +}; + +extern unsigned long search_exception_table(unsigned long); +extern void sort_exception_tables(void); + +#endif /* __X86_UACCESS_H__ */ |