e69f202d0a
o Now CONFIG_PHYSICAL_START is being replaced with CONFIG_PHYSICAL_ALIGN. Hardcoding the kernel physical start value creates a problem in relocatable kernel context due to boot loader limitations. For ex, if somebody compiles a relocatable kernel to be run from address 4MB, but this kernel will run from location 1MB as grub loads the kernel at physical address 1MB. Kernel thinks that I am a relocatable kernel and I should run from the address I have been loaded at. So somebody wanting to run kernel from 4MB alignment location (for improved performance regions) can't do that. o Hence, Eric proposed that probably CONFIG_PHYSICAL_ALIGN will make more sense in relocatable kernel context. At run time kernel will move itself to a physical addr location which meets user specified alignment restrictions. Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com> Signed-off-by: Andi Kleen <ak@suse.de>
19 lines
589 B
C
19 lines
589 B
C
#ifndef _LINUX_BOOT_H
|
|
#define _LINUX_BOOT_H
|
|
|
|
/* Don't touch these, unless you really know what you're doing. */
|
|
#define DEF_INITSEG 0x9000
|
|
#define DEF_SYSSEG 0x1000
|
|
#define DEF_SETUPSEG 0x9020
|
|
#define DEF_SYSSIZE 0x7F00
|
|
|
|
/* Internal svga startup constants */
|
|
#define NORMAL_VGA 0xffff /* 80x25 mode */
|
|
#define EXTENDED_VGA 0xfffe /* 80x50 mode */
|
|
#define ASK_VGA 0xfffd /* ask for it at bootup */
|
|
|
|
/* Physical address where kenrel should be loaded. */
|
|
#define LOAD_PHYSICAL_ADDR ((0x100000 + CONFIG_PHYSICAL_ALIGN - 1) \
|
|
& ~(CONFIG_PHYSICAL_ALIGN - 1))
|
|
|
|
#endif /* _LINUX_BOOT_H */
|