diff options
author | Ben Dooks <ben-linux@fluff.org> | 2008-10-27 12:32:29 +0000 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2008-10-27 12:32:29 +0000 |
commit | b99053eefce89c5c8500517f5f065c85b57d98ee (patch) | |
tree | 2e99059d55e32db39a2ada348c39f71bb473c0c1 /arch/um/sys-x86_64/shared/sysdep/host_ldt.h | |
parent | 761e0ee0f0beecee7c2528588b043609b880de58 (diff) | |
parent | f8d56f1771e4867acc461146764b4feeb5245669 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into s3c64xx
Conflicts:
arch/arm/mm/Kconfig
Diffstat (limited to 'arch/um/sys-x86_64/shared/sysdep/host_ldt.h')
-rw-r--r-- | arch/um/sys-x86_64/shared/sysdep/host_ldt.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/arch/um/sys-x86_64/shared/sysdep/host_ldt.h b/arch/um/sys-x86_64/shared/sysdep/host_ldt.h new file mode 100644 index 00000000000..e8b1be1e154 --- /dev/null +++ b/arch/um/sys-x86_64/shared/sysdep/host_ldt.h @@ -0,0 +1,38 @@ +#ifndef __ASM_HOST_LDT_X86_64_H +#define __ASM_HOST_LDT_X86_64_H + +#include <asm/ldt.h> + +/* + * macros stolen from include/asm-x86_64/desc.h + */ +#define LDT_entry_a(info) \ + ((((info)->base_addr & 0x0000ffff) << 16) | ((info)->limit & 0x0ffff)) + +/* Don't allow setting of the lm bit. It is useless anyways because + * 64bit system calls require __USER_CS. */ +#define LDT_entry_b(info) \ + (((info)->base_addr & 0xff000000) | \ + (((info)->base_addr & 0x00ff0000) >> 16) | \ + ((info)->limit & 0xf0000) | \ + (((info)->read_exec_only ^ 1) << 9) | \ + ((info)->contents << 10) | \ + (((info)->seg_not_present ^ 1) << 15) | \ + ((info)->seg_32bit << 22) | \ + ((info)->limit_in_pages << 23) | \ + ((info)->useable << 20) | \ + /* ((info)->lm << 21) | */ \ + 0x7000) + +#define LDT_empty(info) (\ + (info)->base_addr == 0 && \ + (info)->limit == 0 && \ + (info)->contents == 0 && \ + (info)->read_exec_only == 1 && \ + (info)->seg_32bit == 0 && \ + (info)->limit_in_pages == 0 && \ + (info)->seg_not_present == 1 && \ + (info)->useable == 0 && \ + (info)->lm == 0) + +#endif |