| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | 
							- #ifndef _ASM_IA64_UACCESS_H
 
- #define _ASM_IA64_UACCESS_H
 
- /*
 
-  * This file defines various macros to transfer memory areas across
 
-  * the user/kernel boundary.  This needs to be done carefully because
 
-  * this code is executed in kernel mode and uses user-specified
 
-  * addresses.  Thus, we need to be careful not to let the user to
 
-  * trick us into accessing kernel memory that would normally be
 
-  * inaccessible.  This code is also fairly performance sensitive,
 
-  * so we want to spend as little time doing safety checks as
 
-  * possible.
 
-  *
 
-  * To make matters a bit more interesting, these macros sometimes also
 
-  * called from within the kernel itself, in which case the address
 
-  * validity check must be skipped.  The get_fs() macro tells us what
 
-  * to do: if get_fs()==USER_DS, checking is performed, if
 
-  * get_fs()==KERNEL_DS, checking is bypassed.
 
-  *
 
-  * Note that even if the memory area specified by the user is in a
 
-  * valid address range, it is still possible that we'll get a page
 
-  * fault while accessing it.  This is handled by filling out an
 
-  * exception handler fixup entry for each instruction that has the
 
-  * potential to fault.  When such a fault occurs, the page fault
 
-  * handler checks to see whether the faulting instruction has a fixup
 
-  * associated and, if so, sets r8 to -EFAULT and clears r9 to 0 and
 
-  * then resumes execution at the continuation point.
 
-  *
 
-  * Based on <asm-alpha/uaccess.h>.
 
-  *
 
-  * Copyright (C) 1998, 1999, 2001-2004 Hewlett-Packard Co
 
-  *	David Mosberger-Tang <davidm@hpl.hp.com>
 
-  */
 
- #include <linux/compiler.h>
 
- #include <linux/errno.h>
 
- #include <linux/sched.h>
 
- #include <linux/page-flags.h>
 
- #include <linux/mm.h>
 
- #include <asm/intrinsics.h>
 
- #include <asm/pgtable.h>
 
- #include <asm/io.h>
 
- /*
 
-  * For historical reasons, the following macros are grossly misnamed:
 
-  */
 
 
  |