Using CONFIG_PHYSICAL_START

3 messages, 2 authors, 2011-02-16 · open the first message on its own page

Using CONFIG_PHYSICAL_START

From: Meador Inge <hidden>
Date: 2011-02-16 18:00:34

Hi Kumar,

Quick question about the support for booting at a non-zero base address (as committed here: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37dd2badcfcec35f5e21a0926968d77a404f03c3).  Is booting from a non-zero address as simple as changing "CONFIG_PHYSICAL_START" (assuming it meets the alignment constraints, of course)?

For example, I want to boot from a non-zero address on the P1022DS.  I should just be able to change "CONFIG_PHYSICAL_START" to, say, 0x08000000, and it should work, right?  Any other bits that need to be done (i.e. U-Boot or device tree magic)?

-- 
Meador Inge     | meador_inge AT mentor.com
Mentor Embedded | http://www.mentor.com/embedded-software

Re: Using CONFIG_PHYSICAL_START

From: Scott Wood <hidden>
Date: 2011-02-16 19:39:31

On Wed, 16 Feb 2011 12:00:25 -0600
Meador Inge [off-list ref] wrote:
Hi Kumar,

Quick question about the support for booting at a non-zero base address 
(as committed here: 
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37dd2badcfcec35f5e21a0926968d77a404f03c3). 
  Is booting from a non-zero address as simple as changing 
"CONFIG_PHYSICAL_START" (assuming it meets the alignment constraints, of 
course)?
Another option is to turn on CONFIG_RELOCATABLE.  Note that you'll still
have the same alignment constraints; it doesn't generate a truly relocatable
binary (the effective addresses are fixed).  But you don't have to specify
the physical address at compile-time.  This allows you to use the same
kernel image for multiple AMP partitions.
For example, I want to boot from a non-zero address on the P1022DS.  I 
should just be able to change "CONFIG_PHYSICAL_START" to, say, 
0x08000000, and it should work, right?  Any other bits that need to be 
done (i.e. U-Boot or device tree magic)?
You'll want the memory node adjusted for your restricted address range
(I'm assuming that this is why you want to start at non-zero, and that
you're not trying to have the kernel be located in the middle of its
partition).

There are some special u-boot variables (bootm_low/bootm_size) that govern
placement of the kernel, fdt, etc.

-Scott

Re: Using CONFIG_PHYSICAL_START

From: Meador Inge <hidden>
Date: 2011-02-16 20:02:59

On 02/16/2011 01:24 PM, Scott Wood wrote:
On Wed, 16 Feb 2011 12:00:25 -0600
Meador Inge[off-list ref]  wrote:
quoted
Hi Kumar,

Quick question about the support for booting at a non-zero base address
(as committed here:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37dd2badcfcec35f5e21a0926968d77a404f03c3).
   Is booting from a non-zero address as simple as changing
"CONFIG_PHYSICAL_START" (assuming it meets the alignment constraints, of
course)?
Another option is to turn on CONFIG_RELOCATABLE.  Note that you'll still
have the same alignment constraints; it doesn't generate a truly relocatable
binary (the effective addresses are fixed).  But you don't have to specify
the physical address at compile-time.  This allows you to use the same
kernel image for multiple AMP partitions.
quoted
For example, I want to boot from a non-zero address on the P1022DS.  I
should just be able to change "CONFIG_PHYSICAL_START" to, say,
0x08000000, and it should work, right?  Any other bits that need to be
done (i.e. U-Boot or device tree magic)?
You'll want the memory node adjusted for your restricted address range
(I'm assuming that this is why you want to start at non-zero, and that
you're not trying to have the kernel be located in the middle of its
partition).

There are some special u-boot variables (bootm_low/bootm_size) that govern
placement of the kernel, fdt, etc.

Thanks Scott.  I should have looked in the u-boot docs.  There are very clear instructions on how to setup an AMP environment in '.../doc/README.mpc8572ds' (http://git.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=blob;f=doc/README.mpc8572ds;h=06dab596bea52ab8d8c2ba89d86f793cc4881ccb;hb=HEAD).

-Scott

-- 
Meador Inge     | meador_inge AT mentor.com
Mentor Embedded | http://www.mentor.com/embedded-software
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help