[RFC PATCH 07/35] Make LOAD_OFFSET defined by subarch

Chris Wright
2006-05-09T08:51:47Z

[-- Attachment #1: i386-load-offset --]
[-- Type: text/plain, Size: 1427 bytes --]

Change LOAD_OFFSET so that the kernel has virtual addresses in the elf header fields.

Unlike bare metal kernels, Xen kernels start with virtual address
management turned on and thus the addresses to load to should be
virtual addresses.

Signed-off-by: Ian Pratt <ian.pratt@xensource.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
---
arch/i386/kernel/vmlinux.lds.S | 2 +-
include/asm-i386/mach-default/mach_vmlinux.lds.h | 6 ++++++
include/asm-i386/mach-xen/mach_vmlinux.lds.h | 6 ++++++
3 files changed, 13 insertions(+), 1 deletion(-)

--- linus-2.6.orig/arch/i386/kernel/vmlinux.lds.S
+++ linus-2.6/arch/i386/kernel/vmlinux.lds.S
@@ -2,7 +2,7 @@
* Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz>;
*/

-#define LOAD_OFFSET __PAGE_OFFSET
+#include "mach_vmlinux.lds.h"

#include <asm-generic/vmlinux.lds.h>
#include <asm/thread_info.h>
--- /dev/null
+++ linus-2.6/include/asm-i386/mach-default/mach_vmlinux.lds.h
@@ -0,0 +1,6 @@
+#ifndef __ASM_MACH_VMLINUX_LDS_H
+#define __ASM_MACH_VMLINUX_LDS_H
+
+#define LOAD_OFFSET __PAGE_OFFSET
+
+#endif /* __ASM_MACH_VMLINUX_LDS_H */
--- /dev/null
+++ linus-2.6/include/asm-i386/mach-xen/mach_vmlinux.lds.h
@@ -0,0 +1,6 @@
+#ifndef __ASM_MACH_VMLINUX_LDS_H
+#define __ASM_MACH_VMLINUX_LDS_H
+
+#define LOAD_OFFSET 0
+
+#endif /* __ASM_MACH_VMLINUX_LDS_H */

--