diff options
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/Kconfig | 1 | ||||
-rw-r--r-- | arch/ia64/ia32/binfmt_elf32.c | 2 | ||||
-rw-r--r-- | arch/ia64/ia32/elfcore32.h | 1 | ||||
-rw-r--r-- | arch/ia64/kernel/machine_kexec.c | 28 | ||||
-rw-r--r-- | arch/ia64/mm/discontig.c | 2 |
5 files changed, 31 insertions, 3 deletions
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 59b91ac861ac..c60532d93c54 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig | |||
@@ -593,7 +593,6 @@ config IRQ_PER_CPU | |||
593 | source "arch/ia64/hp/sim/Kconfig" | 593 | source "arch/ia64/hp/sim/Kconfig" |
594 | 594 | ||
595 | menu "Instrumentation Support" | 595 | menu "Instrumentation Support" |
596 | depends on EXPERIMENTAL | ||
597 | 596 | ||
598 | source "arch/ia64/oprofile/Kconfig" | 597 | source "arch/ia64/oprofile/Kconfig" |
599 | 598 | ||
diff --git a/arch/ia64/ia32/binfmt_elf32.c b/arch/ia64/ia32/binfmt_elf32.c index 1cfab326fb7e..f6ae3ec93810 100644 --- a/arch/ia64/ia32/binfmt_elf32.c +++ b/arch/ia64/ia32/binfmt_elf32.c | |||
@@ -240,7 +240,7 @@ static int __init check_elf32_binfmt(void) | |||
240 | { | 240 | { |
241 | if (cpu_uses_ia32el()) { | 241 | if (cpu_uses_ia32el()) { |
242 | printk("Please use IA-32 EL for executing IA-32 binaries\n"); | 242 | printk("Please use IA-32 EL for executing IA-32 binaries\n"); |
243 | return unregister_binfmt(&elf_format); | 243 | unregister_binfmt(&elf_format); |
244 | } | 244 | } |
245 | return 0; | 245 | return 0; |
246 | } | 246 | } |
diff --git a/arch/ia64/ia32/elfcore32.h b/arch/ia64/ia32/elfcore32.h index a47f63b204fb..446c9aac924d 100644 --- a/arch/ia64/ia32/elfcore32.h +++ b/arch/ia64/ia32/elfcore32.h | |||
@@ -117,6 +117,7 @@ elf_core_copy_task_fpregs(struct task_struct *tsk, struct pt_regs *regs, elf_fpr | |||
117 | } | 117 | } |
118 | 118 | ||
119 | #define ELF_CORE_COPY_XFPREGS 1 | 119 | #define ELF_CORE_COPY_XFPREGS 1 |
120 | #define ELF_CORE_XFPREG_TYPE NT_PRXFPREG | ||
120 | static inline int | 121 | static inline int |
121 | elf_core_copy_task_xfpregs(struct task_struct *tsk, elf_fpxregset_t *xfpu) | 122 | elf_core_copy_task_xfpregs(struct task_struct *tsk, elf_fpxregset_t *xfpu) |
122 | { | 123 | { |
diff --git a/arch/ia64/kernel/machine_kexec.c b/arch/ia64/kernel/machine_kexec.c index 58e943a5d95c..0dd3b2394cdd 100644 --- a/arch/ia64/kernel/machine_kexec.c +++ b/arch/ia64/kernel/machine_kexec.c | |||
@@ -15,10 +15,13 @@ | |||
15 | #include <linux/cpu.h> | 15 | #include <linux/cpu.h> |
16 | #include <linux/irq.h> | 16 | #include <linux/irq.h> |
17 | #include <linux/efi.h> | 17 | #include <linux/efi.h> |
18 | #include <linux/numa.h> | ||
19 | #include <linux/mmzone.h> | ||
18 | #include <asm/mmu_context.h> | 20 | #include <asm/mmu_context.h> |
19 | #include <asm/setup.h> | 21 | #include <asm/setup.h> |
20 | #include <asm/delay.h> | 22 | #include <asm/delay.h> |
21 | #include <asm/meminit.h> | 23 | #include <asm/meminit.h> |
24 | #include <asm/processor.h> | ||
22 | 25 | ||
23 | typedef NORET_TYPE void (*relocate_new_kernel_t)( | 26 | typedef NORET_TYPE void (*relocate_new_kernel_t)( |
24 | unsigned long indirection_page, | 27 | unsigned long indirection_page, |
@@ -121,3 +124,28 @@ void machine_kexec(struct kimage *image) | |||
121 | unw_init_running(ia64_machine_kexec, image); | 124 | unw_init_running(ia64_machine_kexec, image); |
122 | for(;;); | 125 | for(;;); |
123 | } | 126 | } |
127 | |||
128 | void arch_crash_save_vmcoreinfo(void) | ||
129 | { | ||
130 | #ifdef CONFIG_ARCH_DISCONTIGMEM_ENABLE | ||
131 | VMCOREINFO_SYMBOL(pgdat_list); | ||
132 | VMCOREINFO_LENGTH(pgdat_list, MAX_NUMNODES); | ||
133 | |||
134 | VMCOREINFO_SYMBOL(node_memblk); | ||
135 | VMCOREINFO_LENGTH(node_memblk, NR_NODE_MEMBLKS); | ||
136 | VMCOREINFO_SIZE(node_memblk_s); | ||
137 | VMCOREINFO_OFFSET(node_memblk_s, start_paddr); | ||
138 | VMCOREINFO_OFFSET(node_memblk_s, size); | ||
139 | #endif | ||
140 | #ifdef CONFIG_PGTABLE_3 | ||
141 | VMCOREINFO_CONFIG(PGTABLE_3); | ||
142 | #elif CONFIG_PGTABLE_4 | ||
143 | VMCOREINFO_CONFIG(PGTABLE_4); | ||
144 | #endif | ||
145 | } | ||
146 | |||
147 | unsigned long paddr_vmcoreinfo_note(void) | ||
148 | { | ||
149 | return ia64_tpa((unsigned long)(char *)&vmcoreinfo_note); | ||
150 | } | ||
151 | |||
diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c index 5628067a74d2..0b567398f38e 100644 --- a/arch/ia64/mm/discontig.c +++ b/arch/ia64/mm/discontig.c | |||
@@ -48,7 +48,7 @@ struct early_node_data { | |||
48 | static struct early_node_data mem_data[MAX_NUMNODES] __initdata; | 48 | static struct early_node_data mem_data[MAX_NUMNODES] __initdata; |
49 | static nodemask_t memory_less_mask __initdata; | 49 | static nodemask_t memory_less_mask __initdata; |
50 | 50 | ||
51 | static pg_data_t *pgdat_list[MAX_NUMNODES]; | 51 | pg_data_t *pgdat_list[MAX_NUMNODES]; |
52 | 52 | ||
53 | /* | 53 | /* |
54 | * To prevent cache aliasing effects, align per-node structures so that they | 54 | * To prevent cache aliasing effects, align per-node structures so that they |