Brian Stecher
01/27/2009 9:36 AM
post20837
|
On Tue, Jan 27, 2009 at 09:01:46AM -0500, Vadim Malenboim wrote:
> 1.When does the caching (I+D) initialization done ? Is it done before the startup program ?
The startup program does it during cpuconfig1(), as you've noted, which runs
very early on in the process. Some IPL's/rom monitors also will also enable
the cache before startup is invoked.
> Can i control it for performance evaluations only (wirte 0 to the iccr and dccr registers should do it ,no?)
You might be able to get startup to run with the caches off, but the OS itself
will not operate properly unless they're enabled and properly initialized.
>
> 2.the cpu_startup calls cpuconfig1 that initializing i+d caches and its happens before the startup program
> is this the place where the caches are initialized
This is all part of the startup program - the cpuconfig1() routine does
get invoked before the board specific portion controlled by the main()
routine gets run.
> 3. what is the first thing that runs when i start the bsp image ?
> there is _main() routine in my startup/ppc directory that runs cpu_starup and than the startup program main, is
this the first entry point of the bsp ?
The _start symbol in lib/startup/ppc/cstart.s is where execution begins
in the image, but it does very little before transferring control to
the _main() routine.
--
Brian Stecher (bstecher@qnx.com) QNX Software Systems
phone: +1 (613) 591-0931 (voice) 175 Terence Matthews Cr.
+1 (613) 591-3579 (fax) Kanata, Ontario, Canada K2M 1W8
|
|
|