diff options
Diffstat (limited to 'arch/ia64/kernel')
-rw-r--r-- | arch/ia64/kernel/acpi.c | 29 | ||||
-rw-r--r-- | arch/ia64/kernel/entry.S | 1 | ||||
-rw-r--r-- | arch/ia64/kernel/head.S | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/mca.c | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/paravirt.c | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/pci-dma.c | 10 | ||||
-rw-r--r-- | arch/ia64/kernel/perfmon.c | 5 | ||||
-rw-r--r-- | arch/ia64/kernel/setup.c | 9 | ||||
-rw-r--r-- | arch/ia64/kernel/topology.c | 4 |
9 files changed, 36 insertions, 28 deletions
diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index 0635015d0aaa..bd7acc71e8a9 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c | |||
@@ -678,6 +678,30 @@ static int __init acpi_parse_fadt(struct acpi_table_header *table) | |||
678 | return 0; | 678 | return 0; |
679 | } | 679 | } |
680 | 680 | ||
681 | int __init early_acpi_boot_init(void) | ||
682 | { | ||
683 | int ret; | ||
684 | |||
685 | /* | ||
686 | * do a partial walk of MADT to determine how many CPUs | ||
687 | * we have including offline CPUs | ||
688 | */ | ||
689 | if (acpi_table_parse(ACPI_SIG_MADT, acpi_parse_madt)) { | ||
690 | printk(KERN_ERR PREFIX "Can't find MADT\n"); | ||
691 | return 0; | ||
692 | } | ||
693 | |||
694 | ret = acpi_table_parse_madt(ACPI_MADT_TYPE_LOCAL_SAPIC, | ||
695 | acpi_parse_lsapic, NR_CPUS); | ||
696 | if (ret < 1) | ||
697 | printk(KERN_ERR PREFIX | ||
698 | "Error parsing MADT - no LAPIC entries\n"); | ||
699 | |||
700 | return 0; | ||
701 | } | ||
702 | |||
703 | |||
704 | |||
681 | int __init acpi_boot_init(void) | 705 | int __init acpi_boot_init(void) |
682 | { | 706 | { |
683 | 707 | ||
@@ -701,11 +725,6 @@ int __init acpi_boot_init(void) | |||
701 | printk(KERN_ERR PREFIX | 725 | printk(KERN_ERR PREFIX |
702 | "Error parsing LAPIC address override entry\n"); | 726 | "Error parsing LAPIC address override entry\n"); |
703 | 727 | ||
704 | if (acpi_table_parse_madt(ACPI_MADT_TYPE_LOCAL_SAPIC, acpi_parse_lsapic, NR_CPUS) | ||
705 | < 1) | ||
706 | printk(KERN_ERR PREFIX | ||
707 | "Error parsing MADT - no LAPIC entries\n"); | ||
708 | |||
709 | if (acpi_table_parse_madt(ACPI_MADT_TYPE_LOCAL_APIC_NMI, acpi_parse_lapic_nmi, 0) | 728 | if (acpi_table_parse_madt(ACPI_MADT_TYPE_LOCAL_APIC_NMI, acpi_parse_lapic_nmi, 0) |
710 | < 0) | 729 | < 0) |
711 | printk(KERN_ERR PREFIX "Error parsing LAPIC NMI entry\n"); | 730 | printk(KERN_ERR PREFIX "Error parsing LAPIC NMI entry\n"); |
diff --git a/arch/ia64/kernel/entry.S b/arch/ia64/kernel/entry.S index 7ef0c594f5ed..d435f4a7a96c 100644 --- a/arch/ia64/kernel/entry.S +++ b/arch/ia64/kernel/entry.S | |||
@@ -499,6 +499,7 @@ GLOBAL_ENTRY(prefetch_stack) | |||
499 | END(prefetch_stack) | 499 | END(prefetch_stack) |
500 | 500 | ||
501 | GLOBAL_ENTRY(kernel_execve) | 501 | GLOBAL_ENTRY(kernel_execve) |
502 | rum psr.ac | ||
502 | mov r15=__NR_execve // put syscall number in place | 503 | mov r15=__NR_execve // put syscall number in place |
503 | break __BREAK_SYSCALL | 504 | break __BREAK_SYSCALL |
504 | br.ret.sptk.many rp | 505 | br.ret.sptk.many rp |
diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S index 66e491d8baac..59301c472800 100644 --- a/arch/ia64/kernel/head.S +++ b/arch/ia64/kernel/head.S | |||
@@ -260,7 +260,7 @@ start_ap: | |||
260 | * Switch into virtual mode: | 260 | * Switch into virtual mode: |
261 | */ | 261 | */ |
262 | movl r16=(IA64_PSR_IT|IA64_PSR_IC|IA64_PSR_DT|IA64_PSR_RT|IA64_PSR_DFH|IA64_PSR_BN \ | 262 | movl r16=(IA64_PSR_IT|IA64_PSR_IC|IA64_PSR_DT|IA64_PSR_RT|IA64_PSR_DFH|IA64_PSR_BN \ |
263 | |IA64_PSR_DI) | 263 | |IA64_PSR_DI|IA64_PSR_AC) |
264 | ;; | 264 | ;; |
265 | mov cr.ipsr=r16 | 265 | mov cr.ipsr=r16 |
266 | movl r17=1f | 266 | movl r17=1f |
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c index 7dd96c127177..bab1de2d2f6a 100644 --- a/arch/ia64/kernel/mca.c +++ b/arch/ia64/kernel/mca.c | |||
@@ -1139,7 +1139,7 @@ ia64_mca_modify_original_stack(struct pt_regs *regs, | |||
1139 | return previous_current; | 1139 | return previous_current; |
1140 | 1140 | ||
1141 | no_mod: | 1141 | no_mod: |
1142 | printk(KERN_INFO "cpu %d, %s %s, original stack not modified\n", | 1142 | mprintk(KERN_INFO "cpu %d, %s %s, original stack not modified\n", |
1143 | smp_processor_id(), type, msg); | 1143 | smp_processor_id(), type, msg); |
1144 | return previous_current; | 1144 | return previous_current; |
1145 | } | 1145 | } |
diff --git a/arch/ia64/kernel/paravirt.c b/arch/ia64/kernel/paravirt.c index de35d8e8b7d2..9f14c16f6369 100644 --- a/arch/ia64/kernel/paravirt.c +++ b/arch/ia64/kernel/paravirt.c | |||
@@ -130,7 +130,7 @@ ia64_native_getreg_func(int regnum) | |||
130 | unsigned long res = -1; | 130 | unsigned long res = -1; |
131 | switch (regnum) { | 131 | switch (regnum) { |
132 | CASE_GET_REG(GP); | 132 | CASE_GET_REG(GP); |
133 | CASE_GET_REG(IP); | 133 | /*CASE_GET_REG(IP);*/ /* returned ip value shouldn't be constant */ |
134 | CASE_GET_REG(PSR); | 134 | CASE_GET_REG(PSR); |
135 | CASE_GET_REG(TP); | 135 | CASE_GET_REG(TP); |
136 | CASE_GET_REG(SP); | 136 | CASE_GET_REG(SP); |
diff --git a/arch/ia64/kernel/pci-dma.c b/arch/ia64/kernel/pci-dma.c index 10a75b557650..2a92f637431d 100644 --- a/arch/ia64/kernel/pci-dma.c +++ b/arch/ia64/kernel/pci-dma.c | |||
@@ -12,16 +12,13 @@ | |||
12 | #include <asm/machvec.h> | 12 | #include <asm/machvec.h> |
13 | #include <linux/dma-mapping.h> | 13 | #include <linux/dma-mapping.h> |
14 | 14 | ||
15 | #include <asm/machvec.h> | ||
16 | #include <asm/system.h> | 15 | #include <asm/system.h> |
17 | 16 | ||
18 | #ifdef CONFIG_DMAR | 17 | #ifdef CONFIG_DMAR |
19 | 18 | ||
20 | #include <linux/kernel.h> | 19 | #include <linux/kernel.h> |
21 | #include <linux/string.h> | ||
22 | 20 | ||
23 | #include <asm/page.h> | 21 | #include <asm/page.h> |
24 | #include <asm/iommu.h> | ||
25 | 22 | ||
26 | dma_addr_t bad_dma_address __read_mostly; | 23 | dma_addr_t bad_dma_address __read_mostly; |
27 | EXPORT_SYMBOL(bad_dma_address); | 24 | EXPORT_SYMBOL(bad_dma_address); |
@@ -89,13 +86,6 @@ int iommu_dma_supported(struct device *dev, u64 mask) | |||
89 | { | 86 | { |
90 | struct dma_mapping_ops *ops = get_dma_ops(dev); | 87 | struct dma_mapping_ops *ops = get_dma_ops(dev); |
91 | 88 | ||
92 | #ifdef CONFIG_PCI | ||
93 | if (mask > 0xffffffff && forbid_dac > 0) { | ||
94 | dev_info(dev, "Disallowing DAC for device\n"); | ||
95 | return 0; | ||
96 | } | ||
97 | #endif | ||
98 | |||
99 | if (ops->dma_supported_op) | 89 | if (ops->dma_supported_op) |
100 | return ops->dma_supported_op(dev, mask); | 90 | return ops->dma_supported_op(dev, mask); |
101 | 91 | ||
diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c index ada4605d1223..6543a5547c84 100644 --- a/arch/ia64/kernel/perfmon.c +++ b/arch/ia64/kernel/perfmon.c | |||
@@ -1995,11 +1995,6 @@ pfm_close(struct inode *inode, struct file *filp) | |||
1995 | return -EBADF; | 1995 | return -EBADF; |
1996 | } | 1996 | } |
1997 | 1997 | ||
1998 | if (filp->f_flags & FASYNC) { | ||
1999 | DPRINT(("cleaning up async_queue=%p\n", ctx->ctx_async_queue)); | ||
2000 | pfm_do_fasync(-1, filp, ctx, 0); | ||
2001 | } | ||
2002 | |||
2003 | PROTECT_CTX(ctx, flags); | 1998 | PROTECT_CTX(ctx, flags); |
2004 | 1999 | ||
2005 | state = ctx->ctx_state; | 2000 | state = ctx->ctx_state; |
diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c index ae7911702bf8..865af27c7737 100644 --- a/arch/ia64/kernel/setup.c +++ b/arch/ia64/kernel/setup.c | |||
@@ -359,7 +359,7 @@ reserve_memory (void) | |||
359 | } | 359 | } |
360 | #endif | 360 | #endif |
361 | 361 | ||
362 | #ifdef CONFIG_CRASH_KERNEL | 362 | #ifdef CONFIG_CRASH_DUMP |
363 | if (reserve_elfcorehdr(&rsvd_region[n].start, | 363 | if (reserve_elfcorehdr(&rsvd_region[n].start, |
364 | &rsvd_region[n].end) == 0) | 364 | &rsvd_region[n].end) == 0) |
365 | n++; | 365 | n++; |
@@ -561,8 +561,12 @@ setup_arch (char **cmdline_p) | |||
561 | #ifdef CONFIG_ACPI | 561 | #ifdef CONFIG_ACPI |
562 | /* Initialize the ACPI boot-time table parser */ | 562 | /* Initialize the ACPI boot-time table parser */ |
563 | acpi_table_init(); | 563 | acpi_table_init(); |
564 | early_acpi_boot_init(); | ||
564 | # ifdef CONFIG_ACPI_NUMA | 565 | # ifdef CONFIG_ACPI_NUMA |
565 | acpi_numa_init(); | 566 | acpi_numa_init(); |
567 | #ifdef CONFIG_ACPI_HOTPLUG_CPU | ||
568 | prefill_possible_map(); | ||
569 | #endif | ||
566 | per_cpu_scan_finalize((cpus_weight(early_cpu_possible_map) == 0 ? | 570 | per_cpu_scan_finalize((cpus_weight(early_cpu_possible_map) == 0 ? |
567 | 32 : cpus_weight(early_cpu_possible_map)), | 571 | 32 : cpus_weight(early_cpu_possible_map)), |
568 | additional_cpus > 0 ? additional_cpus : 0); | 572 | additional_cpus > 0 ? additional_cpus : 0); |
@@ -853,9 +857,6 @@ void __init | |||
853 | setup_per_cpu_areas (void) | 857 | setup_per_cpu_areas (void) |
854 | { | 858 | { |
855 | /* start_kernel() requires this... */ | 859 | /* start_kernel() requires this... */ |
856 | #ifdef CONFIG_ACPI_HOTPLUG_CPU | ||
857 | prefill_possible_map(); | ||
858 | #endif | ||
859 | } | 860 | } |
860 | 861 | ||
861 | /* | 862 | /* |
diff --git a/arch/ia64/kernel/topology.c b/arch/ia64/kernel/topology.c index 26228e2d01ae..c75b914f2d6b 100644 --- a/arch/ia64/kernel/topology.c +++ b/arch/ia64/kernel/topology.c | |||
@@ -53,10 +53,12 @@ int __ref arch_register_cpu(int num) | |||
53 | } | 53 | } |
54 | EXPORT_SYMBOL(arch_register_cpu); | 54 | EXPORT_SYMBOL(arch_register_cpu); |
55 | 55 | ||
56 | void arch_unregister_cpu(int num) | 56 | void __ref arch_unregister_cpu(int num) |
57 | { | 57 | { |
58 | unregister_cpu(&sysfs_cpus[num].cpu); | 58 | unregister_cpu(&sysfs_cpus[num].cpu); |
59 | #ifdef CONFIG_ACPI | ||
59 | unmap_cpu_from_node(num, cpu_to_node(num)); | 60 | unmap_cpu_from_node(num, cpu_to_node(num)); |
61 | #endif | ||
60 | } | 62 | } |
61 | EXPORT_SYMBOL(arch_unregister_cpu); | 63 | EXPORT_SYMBOL(arch_unregister_cpu); |
62 | #else | 64 | #else |