kernel startup
Wolfgang Denk
wd at denx.de
Sat Feb 11 12:20:27 EST 2006
In message <4A062D477D842B4C8FC48EA5AF2D41F201BA2089 at us-bv-m23.global.tektronix.net> you wrote:
>
> Not much choice with IMMR as it can be 0x0 or 0x00f00000 or 0xFF000000
> Or 0xFFF00000.
Initially. But you can change it.
> Flash is from 0xfe000000 thru 0xffffffff. Now on POR,
> Processor goes to offset 0x100 on CS0. So, if IMMR is overlapping with
> flash, it might not boot.
Just fix your memory map.
> On 870, it seems that reset value for BR0/OR0 is undefined.
Please RTFM. The steps how the processor comes up from reset are
documented in great detail. Especially the handling of the boot
device chip select.
> Data fetch goes on CS0 and then in cpu_init_f BR0 & OR0
> Are remapped. So, I could put flash at a non-standard address like
> 0xDE000000 and move IMMR to 0xFF000000.
There is no such thing as a "non-standard" address, as there is no
"standard" address either.
> The problem this creates is that I can set IIP to 0 or 1. So, exception
> Vector prefix can be 0 or 0xfff. Since no flash at 0xfff00000 base
> Address I cannot have any exceptions in my code till the u-boot code
> has relocated to RAM. Which should be acceptable as what can I do
> if there is exception so early in the system.
In most cases it is useful to configure a system for low-boot, i. e.
let it start at 0x0100. Then just set up your memory map as you
like...
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
You don't need a weatherman to know which way the wind blows.
- Bob Dylan
More information about the Linuxppc-embedded
mailing list