8.11
Initialization Requirements
When any reset is performed, the processor is initialized to a minimum configuration to start executing
initialization code. Initialization code is necessary to complete the processor and system
configuration.
The
initialization code example
in
this section performs the configuration tasks required to prepare the
PPC405GP to boot an operating system or run an
application program.
Some portions of the
initialization code work with system components that are beyond the scope of
this
manual.
Initialization
code should perform the following tasks to configure the processor resources.
To
improve instruction fetching performance: initialize the SGR appropriately for guarded
or
unguarded storage. Since all storage is initially guarded and speculative fetching is inhibited to
guarded
stor~ge,
reprogramming the SGR will improve performance for unguarded regions.
1.
Configure the following storage attribute control registers, if necessary:
-
Initialize the SLER to configure storage byte ordering.
-
Initialize the
SUOR
to configure storage compression.
2. Before executing instructions as
cachable:
- Invalidate the instruction cache.
-
Initialize the ICCR to configure instruction cachability.
3.
Before using storage access instructions:
Invalidate the data cache.
-
Initialize CRRO to determine if a store miss results
in
a line fill (SWOA).
-
Initialize the DCWR to select copy-back
or
write-through caching.
-
Initialize the DCCR to configure data cachability.
4. Before allowing interrupts (synchronous
or
asynchronous):
-
Initialize the EVPR to point to vector table.
- Provide vector table with branches to interrupt handlers.
5.
Before enabling asynchronous interrupts:
-
Initialize timer facilities.
- Initialize MSR to enable appropriate interrupts.
6.
Initialize other processor features, such as the MMU, debug, and trace.
7.
Initialize non-processor resources.
-
Initialize system memory as required by the operating system
or
application code.
-
Initialize off-chip system facilities.
8.
Start the execution of operating system
or
application code.
Preliminary
Reset and
Initialization 8-15