aboutsummaryrefslogtreecommitdiffstats
path: root/patches
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@xensource.com>2006-11-30 12:38:51 +0000
committerIan Campbell <ian.campbell@xensource.com>2006-11-30 12:38:51 +0000
commitf8d586356a8cd248443f3fb0f01a53530c8e9b0a (patch)
tree2e8d04d42a5bd70f5860afeb4b9b52855342b621 /patches
parent6fc8621b96e18503bf92a3b1651f35bf17af41a2 (diff)
downloadxen-f8d586356a8cd248443f3fb0f01a53530c8e9b0a.tar.gz
xen-f8d586356a8cd248443f3fb0f01a53530c8e9b0a.tar.bz2
xen-f8d586356a8cd248443f3fb0f01a53530c8e9b0a.zip
[LINUX] kexec: Backport fix for overlapping program headers in x86_64 linker script.
This allows a native kernel built from the xen tree to be used as a crash kernel on x86_64. Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Diffstat (limited to 'patches')
-rw-r--r--patches/linux-2.6.16.33/git-dbaab49f92ff6ae6255762a948375e4036cbdbd2.patch47
-rw-r--r--patches/linux-2.6.16.33/series1
2 files changed, 48 insertions, 0 deletions
diff --git a/patches/linux-2.6.16.33/git-dbaab49f92ff6ae6255762a948375e4036cbdbd2.patch b/patches/linux-2.6.16.33/git-dbaab49f92ff6ae6255762a948375e4036cbdbd2.patch
new file mode 100644
index 0000000000..199cabd4c9
--- /dev/null
+++ b/patches/linux-2.6.16.33/git-dbaab49f92ff6ae6255762a948375e4036cbdbd2.patch
@@ -0,0 +1,47 @@
+commit dbaab49f92ff6ae6255762a948375e4036cbdbd2
+Author: Vivek Goyal <vgoyal@in.ibm.com>
+Date: Sat Oct 21 18:37:03 2006 +0200
+
+ [PATCH] x86-64: Overlapping program headers in physical addr space fix
+
+ o A recent change to vmlinux.ld.S file broke kexec as now resulting vmlinux
+ program headers are overlapping in physical address space.
+
+ o Now all the vsyscall related sections are placed after data and after
+ that mostly init data sections are placed. To avoid physical overlap
+ among phdrs, there are three possible solutions.
+ - Place vsyscall sections also in data phdrs instead of user
+ - move vsyscal sections after init data in bss.
+ - create another phdrs say data.init and move all the sections
+ after vsyscall into this new phdr.
+
+ o This patch implements the third solution.
+
+ Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
+ Signed-off-by: Andi Kleen <ak@suse.de>
+ Cc: Magnus Damm <magnus@valinux.co.jp>
+ Cc: Andi Kleen <ak@suse.de>
+ Cc: "Eric W. Biederman" <ebiederm@xmission.com>
+ Signed-off-by: Andrew Morton <akpm@osdl.org>
+
+diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S
+index b9df2ab..1283614 100644
+--- a/arch/x86_64/kernel/vmlinux.lds.S
++++ b/arch/x86_64/kernel/vmlinux.lds.S
+@@ -17,6 +17,7 @@ PHDRS {
+ text PT_LOAD FLAGS(5); /* R_E */
+ data PT_LOAD FLAGS(7); /* RWE */
+ user PT_LOAD FLAGS(7); /* RWE */
++ data.init PT_LOAD FLAGS(7); /* RWE */
+ note PT_NOTE FLAGS(4); /* R__ */
+ }
+ SECTIONS
+@@ -131,7 +132,7 @@ SECTIONS
+ . = ALIGN(8192); /* init_task */
+ .data.init_task : AT(ADDR(.data.init_task) - LOAD_OFFSET) {
+ *(.data.init_task)
+- } :data
++ }:data.init
+
+ . = ALIGN(4096);
+ .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) {
diff --git a/patches/linux-2.6.16.33/series b/patches/linux-2.6.16.33/series
index 81cc316ad8..1f01b4033f 100644
--- a/patches/linux-2.6.16.33/series
+++ b/patches/linux-2.6.16.33/series
@@ -31,6 +31,7 @@ xen-hotplug.patch
xenoprof-generic.patch
x86-put-note-sections-into-a-pt_note-segment-in-vmlinux.patch
x86_64-put-note-sections-into-a-pt_note-segment-in-vmlinux.patch
+git-dbaab49f92ff6ae6255762a948375e4036cbdbd2.patch
x86-elfnote-as-preprocessor-macro.patch
vsnprintf.patch
kasprintf.patch