some question about phase2.c

Andy Green andy at
Mon Aug 18 11:02:09 CEST 2008

Hash: SHA1

Somebody in the thread at some point said:
| Andy Green wrote:
|> Somebody in the thread at some point said:
|> | Hi Andy:
|> |
|> |      void (*phase2)(void) = (void
|> (*)(void))((int)bootloader_second_phase +
|> | TEXT_BASE);
|> | where here add TEXT_BASE? i don't understand.
|> | i see the new patch there is no "+ TEXT_BASE"
|> TEXT_BASE is where we copy the qi image to in SDRAM, 0x33000000.  Before
| i can not find where the code that we move the QI from steppingstone 4K
| to SDRAM.

We don't, we read it all again from the NAND, same as the CPU read it
from NAND to get the 4KBytes into the steppingstone for us to start.

	 * We got the first 4KBytes of the bootloader pulled into the
	 * steppingstone SRAM for free.  Now we pull the whole bootloader
	 * image into SDRAM.


	/* We randomly pull 24KBytes of bootloader */
	if (nand_read_ll((unsigned char *)TEXT_BASE, 0, 24 * 1024) < 0)
		goto unhappy;

currently we pull fixed 24KByte area from start of NAND into TEXT_BASE
in start_qi.c.

- -Andy
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora -


More information about the openmoko-kernel mailing list