[PATCH] i386: Relocatable kernel support
This patch modifies the i386 kernel so that if CONFIG_RELOCATABLE is selected it will be able to be loaded at any 4K aligned address below 1G. The technique used is to compile the decompressor with -fPIC and modify it so the decompressor is fully relocatable. For the main kernel relocations are generated. Resulting in a kernel that is relocatable with no runtime overhead and no need to modify the source code. A reserved 32bit word in the parameters has been assigned to serve as a stack so we figure out where are running. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de>
This commit is contained in:
committed by
Andi Kleen
parent
fd593d1277
commit
968de4f026
@ -42,7 +42,8 @@ struct screen_info {
|
||||
u16 pages; /* 0x32 */
|
||||
u16 vesa_attributes; /* 0x34 */
|
||||
u32 capabilities; /* 0x36 */
|
||||
/* 0x3a -- 0x3f reserved for future expansion */
|
||||
/* 0x3a -- 0x3b reserved for future expansion */
|
||||
/* 0x3c -- 0x3f micro stack for relocatable kernels */
|
||||
};
|
||||
|
||||
extern struct screen_info screen_info;
|
||||
|
Reference in New Issue
Block a user