[PATCH] x86: Put trampoline_data into readonly section.

From: Rakib Mullick
Date: Fri Dec 04 2009 - 11:24:19 EST


x86, trampoline_32: Put trampoline_data into readonly section.

Put trampoline_data into readonly section when cpu
hotplug is supported. We cannot free up trampoline_data
because its been referenced from tboot_setup_sleep() which
is in non-cpuinit section.

We were warned by the following warning:

WARNING: arch/x86/kernel/built-in.o(.text+0x13c77): Section mismatch
in reference from the function tboot_setup_sleep() to the variable
.cpuinit.rodata:trampoline_end
The function tboot_setup_sleep() references
the variable __cpuinitconst trampoline_end.
This is often because tboot_setup_sleep lacks a __cpuinitconst
annotation or the annotation of trampoline_end is wrong.

WARNING: arch/x86/kernel/built-in.o(.text+0x13c84): Section mismatch
in reference from the function tboot_setup_sleep() to the variable
.cpuinit.rodata:trampoline_data
The function tboot_setup_sleep() references
the variable __cpuinitconst trampoline_data.
This is often because tboot_setup_sleep lacks a __cpuinitconst
annotation or the annotation of trampoline_data is wrong.

Signed-off-by: Rakib Mullick <rakib.mullick@xxxxxxxxx>
---

--- linus/arch/x86/kernel/trampoline_32.S 2009-12-04 17:17:51.000000000 +0600
+++ rakib/arch/x86/kernel/trampoline_32.S 2009-12-04 17:24:44.000000000 +0600
@@ -32,8 +32,13 @@
#include <asm/segment.h>
#include <asm/page_types.h>

+#ifdef CONFIG_ACPI_SLEEP
+.section .rodata, "a", @progbits
+#else
/* We can free up trampoline after bootup if cpu hotplug is not supported. */
__CPUINITRODATA
+#endif
+
.code16

ENTRY(trampoline_data)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/