Patches contributed by Eötvös Lorand University
commit 33be8333421f842789fa7e363ce4142947e094f0
Author: Ingo Molnar <mingo@elte.hu>
Date: Wed Jun 18 14:47:09 2008 +0200
x86: boot IRQ quirks and rerouting, fix
fix:
init/built-in.o: In function `nosmp':
main.c:(.init.text+0x14): undefined reference to `noioapicquirk'
main.c:(.init.text+0x1e): undefined reference to `noioapicreroute'
init/built-in.o: In function `maxcpus':
main.c:(.init.text+0x133): undefined reference to `noioapicquirk'
main.c:(.init.text+0x13d): undefined reference to `noioapicreroute'
arch/x86/kernel/built-in.o: In function `parse_noapic':
io_apic_32.c:(.init.text+0x7836): undefined reference to `noioapicquirk'
io_apic_32.c:(.init.text+0x7840): undefined reference to `noioapicreroute'
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/include/asm-x86/io_apic.h b/include/asm-x86/io_apic.h
index a39670ae17df..721605d8f116 100644
--- a/include/asm-x86/io_apic.h
+++ b/include/asm-x86/io_apic.h
@@ -168,8 +168,10 @@ extern int timer_through_8259;
static inline void disable_ioapic_setup(void)
{
+#ifdef CONFIG_PCI
noioapicquirk = 1;
noioapicreroute = -1;
+#endif
skip_ioapic_setup = 1;
}
commit a29d1cfe9e9337aedeed505afddc8465ac709b87
Author: Ingo Molnar <mingo@elte.hu>
Date: Mon Jun 2 13:19:08 2008 +0200
printk: export console_drivers
this symbol is needed by drivers/video/xen-fbfront.ko.
[ cherry-picked from tip/core/printk ]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/kernel/printk.c b/kernel/printk.c
index 028ed75d4864..1fb1382009f3 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -75,6 +75,8 @@ EXPORT_SYMBOL(oops_in_progress);
static DECLARE_MUTEX(console_sem);
static DECLARE_MUTEX(secondary_console_sem);
struct console *console_drivers;
+EXPORT_SYMBOL_GPL(console_drivers);
+
/*
* This is used for debugging the mess that is the VT code by
* keeping track if we have the console semaphore held. It's
commit aea5f9f89bae5d5f9eb3fe3cddedbbfb82e6e44f
Author: Ingo Molnar <mingo@elte.hu>
Date: Fri Jul 4 12:16:55 2008 +0200
x86: fix "x86: let setup_arch call init_apic_mappings for 32bit"
add back this line lost from trap_init():
set_trap_gate(0, ÷_error);
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/arch/x86/kernel/traps_32.c b/arch/x86/kernel/traps_32.c
index f60feee83253..d7cc292691ff 100644
--- a/arch/x86/kernel/traps_32.c
+++ b/arch/x86/kernel/traps_32.c
@@ -1198,6 +1198,7 @@ void __init trap_init(void)
early_iounmap(p, 4);
#endif
+ set_trap_gate(0, ÷_error);
set_intr_gate(1, &debug);
set_intr_gate(2, &nmi);
set_system_intr_gate(3, &int3); /* int3/4 can be called from all */
commit 4a7017370aa0a94a00ae5b5705e9169cdcae5fb8
Author: Ingo Molnar <mingo@elte.hu>
Date: Thu Jul 3 15:57:47 2008 +0200
x86: move prefill_possible_map calling early, fix
fix:
arch/x86/kernel/built-in.o: In function `setup_arch':
: undefined reference to `prefill_possible_map'
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/include/asm-x86/smp.h b/include/asm-x86/smp.h
index b324a0645a78..2e221f1ce0b2 100644
--- a/include/asm-x86/smp.h
+++ b/include/asm-x86/smp.h
@@ -109,8 +109,6 @@ int native_cpu_up(unsigned int cpunum);
extern int __cpu_disable(void);
extern void __cpu_die(unsigned int cpu);
-extern void prefill_possible_map(void);
-
void smp_store_cpu_info(int id);
#define cpu_physical_id(cpu) per_cpu(x86_cpu_to_apicid, cpu)
@@ -119,11 +117,15 @@ static inline int num_booting_cpus(void)
{
return cpus_weight(cpu_callout_map);
}
+#endif /* CONFIG_SMP */
+
+#if defined(CONFIG_SMP) && defined(CONFIG_HOTPLUG_CPU)
+extern void prefill_possible_map(void);
#else
static inline void prefill_possible_map(void)
{
}
-#endif /* CONFIG_SMP */
+#endif
extern unsigned disabled_cpus __cpuinitdata;
commit 3ae960a598b9dfe87b29eb70738d91a13e692498
Author: Ingo Molnar <mingo@elte.hu>
Date: Mon Jun 30 10:33:47 2008 +0200
- x86: move early_ioremap prototypes to io.h
now that the early-ioremap code is unified, move the prototypes too from
io_32.h to io.h.
this fixes:
arch/x86/kernel/setup.c:531: error: implicit declaration of function ‘early_ioremap_init'
on 64-bit.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/include/asm-x86/io.h b/include/asm-x86/io.h
index c63563df4ac8..bf5d629b3a39 100644
--- a/include/asm-x86/io.h
+++ b/include/asm-x86/io.h
@@ -5,6 +5,20 @@
#include <linux/compiler.h>
+/*
+ * early_ioremap() and early_iounmap() are for temporary early boot-time
+ * mappings, before the real ioremap() is functional.
+ * A boot-time mapping is currently limited to at most 16 pages.
+ */
+#ifndef __ASSEMBLY__
+extern void early_ioremap_init(void);
+extern void early_ioremap_clear(void);
+extern void early_ioremap_reset(void);
+extern void *early_ioremap(unsigned long offset, unsigned long size);
+extern void early_iounmap(void *addr, unsigned long size);
+extern void __iomem *fix_ioremap(unsigned idx, unsigned long phys);
+#endif
+
#define build_mmio_read(name, size, type, reg, barrier) \
static inline type name(const volatile void __iomem *addr) \
{ type ret; asm volatile("mov" size " %1,%0":"=" reg (ret) \
commit 1bb3a029078d437aa05bda8a8c8f8ecb1265e231
Author: Ingo Molnar <mingo@elte.hu>
Date: Mon Jun 30 08:47:42 2008 +0200
x86: nmi_watchdog - documentation fix - v2
typo fixes from Randy Dunlap and Alan Cox.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/Documentation/nmi_watchdog.txt b/Documentation/nmi_watchdog.txt
index 101bfcf19c0d..90aa4531cb67 100644
--- a/Documentation/nmi_watchdog.txt
+++ b/Documentation/nmi_watchdog.txt
@@ -69,7 +69,7 @@ to the overall system performance.
On x86 nmi_watchdog is disabled by default so you have to enable it with
a boot time parameter.
-NOTE: Prior to 2.4.2-ac18 the NMI-oopser is enabled unconditionally
+NOTE: In kernels prior to 2.4.2-ac18 the NMI-oopser is enabled unconditionally
on x86 SMP boxes.
[ feel free to send bug reports, suggestions and patches to
commit 330ddd20894f99a2b956ad59cf0cfdba188bde63
Author: Ingo Molnar <mingo@elte.hu>
Date: Thu Jun 26 12:40:35 2008 +0200
x86: build fix
fix:
In file included from arch/x86/kernel/setup.c:118:
include/asm/highmem.h:64: error: expected identifier or ‘(' before ‘do'
include/asm/highmem.h:64: error: expected identifier or ‘(' before ‘while'
include/asm/highmem.h:67: error: expected identifier or ‘(' before ‘do'
include/asm/highmem.h:67: error: expected identifier or ‘(' before ‘while'
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 172a83e57ee7..63dbb5e8f7ee 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -114,9 +114,6 @@
#ifdef CONFIG_X86_64
#include <asm/numa_64.h>
#endif
-#ifdef CONFIG_X86_32
-#include <asm/highmem.h>
-#endif
#ifndef CONFIG_DEBUG_BOOT_PARAMS
struct boot_params __initdata boot_params;
commit 3442682a54a9f44047efe526869aa52bd74fe16e
Author: Ingo Molnar <mingo@elte.hu>
Date: Thu Jun 26 12:29:29 2008 +0200
x86: remove extra newline from setup.c
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index f2e314b5b5fa..172a83e57ee7 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -806,4 +806,3 @@ void __init setup_arch(char **cmdline_p)
#endif
#endif
}
-
commit 3eb11edc1321e14a121deeb8b18c177750226eca
Author: Ingo Molnar <mingo@elte.hu>
Date: Mon Jun 23 22:19:22 2008 +0200
x86: build fix
fix:
arch/x86/kernel/setup_32.c:409: error: 'enable_local_apic' undeclared (first use in this function)
arch/x86/kernel/setup_32.c:409: error: (Each undeclared identifier is reported only once
arch/x86/kernel/setup_32.c:409: error: for each function it appears in.)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/arch/x86/kernel/setup_32.c b/arch/x86/kernel/setup_32.c
index b42f570a5a56..1e670372c191 100644
--- a/arch/x86/kernel/setup_32.c
+++ b/arch/x86/kernel/setup_32.c
@@ -406,7 +406,9 @@ void __init setup_arch(char **cmdline_p)
parse_early_param();
if (acpi_mps_check()){
+#ifdef CONFIG_X86_LOCAL_APIC
enable_local_apic = -1;
+#endif
clear_cpu_cap(&boot_cpu_data, X86_FEATURE_APIC);
}
commit 1ea598c29748a559a0086a84a016886d786e6272
Author: Ingo Molnar <mingo@elte.hu>
Date: Fri Jun 13 20:31:54 2008 +0200
x86: fix sleep.c build error
fix:
arch/x86/kernel/acpi/sleep.c: In function ‘acpi_save_state_mem':
arch/x86/kernel/acpi/sleep.c:75: error: ‘stack_start' undeclared (first use in this function)
arch/x86/kernel/acpi/sleep.c:75: error: (Each undeclared identifier is reported
only once
arch/x86/kernel/acpi/sleep.c:75: error: for each function it appears in.)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c
index a81f468ab410..e6a4b564ccaa 100644
--- a/arch/x86/kernel/acpi/sleep.c
+++ b/arch/x86/kernel/acpi/sleep.c
@@ -86,7 +86,9 @@ int acpi_save_state_mem(void)
saved_magic = 0x12345678;
#else /* CONFIG_64BIT */
header->trampoline_segment = setup_trampoline() >> 4;
+#ifdef CONFIG_SMP
stack_start.sp = temp_stack + 4096;
+#endif
initial_code = (unsigned long)wakeup_long64;
saved_magic = 0x123456789abcdef0;
#endif /* CONFIG_64BIT */