diff options
| -rw-r--r-- | arch/ia64/ia32/ia32_support.c | 10 | ||||
| -rw-r--r-- | arch/ia64/mm/init.c | 25 |
2 files changed, 25 insertions, 10 deletions
diff --git a/arch/ia64/ia32/ia32_support.c b/arch/ia64/ia32/ia32_support.c index 896b1ebbfb26..a6965ddafc46 100644 --- a/arch/ia64/ia32/ia32_support.c +++ b/arch/ia64/ia32/ia32_support.c | |||
| @@ -15,7 +15,6 @@ | |||
| 15 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
| 16 | #include <linux/init.h> | 16 | #include <linux/init.h> |
| 17 | #include <linux/mm.h> | 17 | #include <linux/mm.h> |
| 18 | #include <linux/personality.h> | ||
| 19 | #include <linux/sched.h> | 18 | #include <linux/sched.h> |
| 20 | 19 | ||
| 21 | #include <asm/intrinsics.h> | 20 | #include <asm/intrinsics.h> |
| @@ -29,7 +28,6 @@ | |||
| 29 | 28 | ||
| 30 | extern int die_if_kernel (char *str, struct pt_regs *regs, long err); | 29 | extern int die_if_kernel (char *str, struct pt_regs *regs, long err); |
| 31 | 30 | ||
| 32 | struct exec_domain ia32_exec_domain; | ||
| 33 | struct page *ia32_shared_page[NR_CPUS]; | 31 | struct page *ia32_shared_page[NR_CPUS]; |
| 34 | unsigned long *ia32_boot_gdt; | 32 | unsigned long *ia32_boot_gdt; |
| 35 | unsigned long *cpu_gdt_table[NR_CPUS]; | 33 | unsigned long *cpu_gdt_table[NR_CPUS]; |
| @@ -240,14 +238,6 @@ ia32_cpu_init (void) | |||
| 240 | static int __init | 238 | static int __init |
| 241 | ia32_init (void) | 239 | ia32_init (void) |
| 242 | { | 240 | { |
| 243 | ia32_exec_domain.name = "Linux/x86"; | ||
| 244 | ia32_exec_domain.handler = NULL; | ||
| 245 | ia32_exec_domain.pers_low = PER_LINUX32; | ||
| 246 | ia32_exec_domain.pers_high = PER_LINUX32; | ||
| 247 | ia32_exec_domain.signal_map = default_exec_domain.signal_map; | ||
| 248 | ia32_exec_domain.signal_invmap = default_exec_domain.signal_invmap; | ||
| 249 | register_exec_domain(&ia32_exec_domain); | ||
| 250 | |||
| 251 | #if PAGE_SHIFT > IA32_PAGE_SHIFT | 241 | #if PAGE_SHIFT > IA32_PAGE_SHIFT |
| 252 | { | 242 | { |
| 253 | extern struct kmem_cache *ia64_partial_page_cachep; | 243 | extern struct kmem_cache *ia64_partial_page_cachep; |
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c index fc6c6636ffda..200100ea7610 100644 --- a/arch/ia64/mm/init.c +++ b/arch/ia64/mm/init.c | |||
| @@ -719,3 +719,28 @@ out: | |||
| 719 | EXPORT_SYMBOL_GPL(remove_memory); | 719 | EXPORT_SYMBOL_GPL(remove_memory); |
| 720 | #endif /* CONFIG_MEMORY_HOTREMOVE */ | 720 | #endif /* CONFIG_MEMORY_HOTREMOVE */ |
| 721 | #endif | 721 | #endif |
| 722 | |||
| 723 | /* | ||
| 724 | * Even when CONFIG_IA32_SUPPORT is not enabled it is | ||
| 725 | * useful to have the Linux/x86 domain registered to | ||
| 726 | * avoid an attempted module load when emulators call | ||
| 727 | * personality(PER_LINUX32). This saves several milliseconds | ||
| 728 | * on each such call. | ||
| 729 | */ | ||
| 730 | static struct exec_domain ia32_exec_domain; | ||
| 731 | |||
| 732 | static int __init | ||
| 733 | per_linux32_init(void) | ||
| 734 | { | ||
| 735 | ia32_exec_domain.name = "Linux/x86"; | ||
| 736 | ia32_exec_domain.handler = NULL; | ||
| 737 | ia32_exec_domain.pers_low = PER_LINUX32; | ||
| 738 | ia32_exec_domain.pers_high = PER_LINUX32; | ||
| 739 | ia32_exec_domain.signal_map = default_exec_domain.signal_map; | ||
| 740 | ia32_exec_domain.signal_invmap = default_exec_domain.signal_invmap; | ||
| 741 | register_exec_domain(&ia32_exec_domain); | ||
| 742 | |||
| 743 | return 0; | ||
| 744 | } | ||
| 745 | |||
| 746 | __initcall(per_linux32_init); | ||
