diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-08-01 23:48:54 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-08-01 23:48:54 -0400 |
commit | 1ed4395035a6791ebbbf618429a58ab9c207cc83 (patch) | |
tree | a34158c5dd3c4ca70f140da5a484ca6142a3b8c3 /arch/ia64/kernel/mca.c | |
parent | 878701db07db3f0b59f14f0c525b681e4ca81551 (diff) | |
parent | b718f91c14604e4ab5cdfe8d3baff8111425ea7d (diff) |
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64] ITC: Reduce rating for ITC clock if ITCs are drifty
[IA64] SN2: Fix up sn2_rtc clock
[IA64] Fix wrong access to irq_desc[] in iosapic_register_intr().
[IA64] Fix possible race in destroy_and_reserve_irq()
[IA64] Fix registered interrupt check
[IA64] Remove a few duplicate includes
[IA64] Allow smp_call_function_single() to current cpu
[IA64] fix a few section mismatch warnings
Diffstat (limited to 'arch/ia64/kernel/mca.c')
-rw-r--r-- | arch/ia64/kernel/mca.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c index 4b5daa3cc0fe..ff28620cb992 100644 --- a/arch/ia64/kernel/mca.c +++ b/arch/ia64/kernel/mca.c | |||
@@ -1750,8 +1750,17 @@ format_mca_init_stack(void *mca_data, unsigned long offset, | |||
1750 | strncpy(p->comm, type, sizeof(p->comm)-1); | 1750 | strncpy(p->comm, type, sizeof(p->comm)-1); |
1751 | } | 1751 | } |
1752 | 1752 | ||
1753 | /* Do per-CPU MCA-related initialization. */ | 1753 | /* Caller prevents this from being called after init */ |
1754 | static void * __init_refok mca_bootmem(void) | ||
1755 | { | ||
1756 | void *p; | ||
1754 | 1757 | ||
1758 | p = alloc_bootmem(sizeof(struct ia64_mca_cpu) * NR_CPUS + | ||
1759 | KERNEL_STACK_SIZE); | ||
1760 | return (void *)ALIGN((unsigned long)p, KERNEL_STACK_SIZE); | ||
1761 | } | ||
1762 | |||
1763 | /* Do per-CPU MCA-related initialization. */ | ||
1755 | void __cpuinit | 1764 | void __cpuinit |
1756 | ia64_mca_cpu_init(void *cpu_data) | 1765 | ia64_mca_cpu_init(void *cpu_data) |
1757 | { | 1766 | { |
@@ -1763,11 +1772,7 @@ ia64_mca_cpu_init(void *cpu_data) | |||
1763 | int cpu; | 1772 | int cpu; |
1764 | 1773 | ||
1765 | first_time = 0; | 1774 | first_time = 0; |
1766 | mca_data = alloc_bootmem(sizeof(struct ia64_mca_cpu) | 1775 | mca_data = mca_bootmem(); |
1767 | * NR_CPUS + KERNEL_STACK_SIZE); | ||
1768 | mca_data = (void *)(((unsigned long)mca_data + | ||
1769 | KERNEL_STACK_SIZE - 1) & | ||
1770 | (-KERNEL_STACK_SIZE)); | ||
1771 | for (cpu = 0; cpu < NR_CPUS; cpu++) { | 1776 | for (cpu = 0; cpu < NR_CPUS; cpu++) { |
1772 | format_mca_init_stack(mca_data, | 1777 | format_mca_init_stack(mca_data, |
1773 | offsetof(struct ia64_mca_cpu, mca_stack), | 1778 | offsetof(struct ia64_mca_cpu, mca_stack), |