linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Re: linuxppc embedded boot problems.
@ 1999-12-15  5:55 Brian Kuschak
  1999-12-15  5:22 ` linuxppc-embedded: /bin/sh wont run from nfsroot Brendan Simon
  1999-12-15 19:06 ` linuxppc embedded boot problems Dan Malek
  0 siblings, 2 replies; 27+ messages in thread
From: Brian Kuschak @ 1999-12-15  5:55 UTC (permalink / raw)
  To: bsimon, Dan Malek; +Cc: linuxppc-embedded



--- Brendan Simon <bsimon@ctam.com.au> wrote:
<snip>
> > Considering you are doing your own UPM, the Linux
> kernel will
> > find lots of timing errors with it. 
<snip>
> 1) there is something I'm doing wrong which affects
> the cache setup.


When UPM tables are involved, and enabling the cache
causes problems, here is a likely issue that's caught
me the past.  The 8xx doesn't do burst-accesses until
the cache is enabled.  If you're runnning synchronous
DRAM, all of your accesses will be single-beat until
you turn on that cache.  If any of your burst-cycle
timing in the UPM is wrong, that's when you will see
problems. 

Other potential problem, which has bitten me, is to
make sure you don't have any lines locked in cache
before you jump to the kernel loader.  Last time I
checked the loader did an INVALIDATE ALL and ENABLE on
the I-Cache.  Ideally it should also do an UNLOCK ALL.
 If, for any reason, your bootloader locks lines in
cache, you can execute those stale cache lines after
jumping to the kernel.

-Brian


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 27+ messages in thread
* Re: linuxppc embedded boot problems.
@ 1999-12-16  4:08 Brian Kuschak
  0 siblings, 0 replies; 27+ messages in thread
From: Brian Kuschak @ 1999-12-16  4:08 UTC (permalink / raw)
  To: bsimon; +Cc: linuxppc-embedded


> This code has statements to invalidate the cache
> before jumping to the
> kernel. Is this the same as making sure lines are
> not "locked" in the
> cache ?

No, lines which have been locked into cache can only
be removed by sending an "unlock line" or "unlock all"
command to the IC_CSR register.  "Invalidate all" does
not remove "locked" lines. 


> I have boot code which does basic initialisation of
> the 860
> (chipselects, DRAM, etc).  This code will eventually
> jump to the start
> of the "kernel loader".  Do I also have to
> invalidate the caches just
> before jumping to the kernel loader ?  This
> currently isn't done.  BTW.
> All caches are disabled at this stage so I guess it
> shouldn't matter.
> 

If caches are disabled, it's a non-issue.  We wrote
our own boot monitor for a custom 823 board
(originally running non-linux code), copying code from
a slow flash into fast SDRAM and swapping chip
selects.  If you are running in a region of memory
with I-Cache enabled, and you copy new code into that
memory, then invalidating the I-cache is necessary.

Brian

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 27+ messages in thread
* linuxppc embedded boot problems.
@ 1999-12-14 22:12 Brendan Simon
  1999-12-15  2:58 ` Dan Malek
  0 siblings, 1 reply; 27+ messages in thread
From: Brendan Simon @ 1999-12-14 22:12 UTC (permalink / raw)
  To: linuxppc-embedded



Just when I thought I had things sussed out, something changes and I'm
back to square one.  Sigh.......

I have HAD linuxppc (embedded-2.2.5) working on a custom MPC860 board.
By working I mean booting to the bash prompt and being able to view the
initrd filesystem with ls.  I have compiled some simple apps that print
things to the console but they only work if I compile with -static
option.

I now want to get the network going and really want to get root nfs
stuff going so development is easy.  I decided to put a whole lot of
printk statements in the enet.c code to see what was happening.  I
loaded this code and all the printk statements are output to the console
when I try "root=/dev/nfs ......" and the boot prompt and I even saw
that statement that the root file system was mounted.  Cool, but the
console hung and there is no bash shell.  I put some more printks in
init/main.c to see how far the code was getting.
NOW HERE IS WHERE THE WIERDNESS STARTS.  The kernel no longer boots.
WHAT !!!  The boot code seems to uncompress the kernel image into RAM
but then nothing else happens.  Here is the output:

loaded at:     FF801000 FF812BAC
relocated to:  00100000 00111BAC
board data at: 001001C4 001001E0
relocated to:  00200100 0020011C
zimage at:     FF807000 FF868100
avail ram:     00201000 01000000

Linux/PPC load:
Uncompressing Linux...done.
Now booting the kernel

That is all I get.  What the hell could be causing this.  OK, time to
take all the printk statements out so I can get back to where I left
off.  I can't believe it; the same thing happens.  I have appended the
output sections of my image.  It looks OK and I have had this thing
booting before so there must be something I'm missing.  I'm a bit
concerned about the possible overlap of the .bss and image sections.
Could some bss data be overwriting the image data at runtime ???

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00004870  ff801000  ff801000  00001000  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .rodata       00000470  ff805870  ff805870  00005870  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .data         00000300  ff806000  ff806000  00006000  2**2
                  CONTENTS, ALLOC, LOAD, DATA
  3 .bss          0000bbac  ff807000  ff807000  00007000  2**2
                  ALLOC
  4 image         00061104  ff807000  ff807000  00007000  2**0
                  CONTENTS, ALLOC, LOAD, DATA


Thanks,
Brendan Simon.


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~1999-12-16 14:52 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
1999-12-15  5:55 linuxppc embedded boot problems Brian Kuschak
1999-12-15  5:22 ` linuxppc-embedded: /bin/sh wont run from nfsroot Brendan Simon
1999-12-15 11:00   ` Jim Chapman
1999-12-15 18:56     ` Alan Mimms
1999-12-15 20:09       ` Dan Malek
1999-12-15 21:27         ` Richard Hendricks
1999-12-15 21:37           ` Alan Mimms
1999-12-15 22:13             ` Dan Malek
1999-12-16 14:52             ` Richard Hendricks
1999-12-15 19:24     ` Dan Malek
1999-12-15 23:10       ` linuxppc-embedded: memory map question Brendan Simon
1999-12-16  9:37       ` linuxppc-embedded: programs wont run from nfsroot Brendan Simon
1999-12-15 22:40     ` linuxppc-embedded: /bin/sh " Brendan Simon
1999-12-16  0:24     ` Brendan Simon
1999-12-16  2:17       ` Brendan Simon
1999-12-15 19:11   ` Dan Malek
     [not found]   ` <ot66y035bv.fsf@thinktwice.zoftcorp.dk>
1999-12-15 22:29     ` Brendan Simon
1999-12-15 19:06 ` linuxppc embedded boot problems Dan Malek
1999-12-15 22:56   ` Brendan Simon
1999-12-16  5:03     ` Dan Malek
  -- strict thread matches above, loose matches on Subject: below --
1999-12-16  4:08 Brian Kuschak
1999-12-14 22:12 Brendan Simon
1999-12-15  2:58 ` Dan Malek
1999-12-15  3:04   ` Brendan Simon
1999-12-15  4:11     ` Dan Malek
1999-12-15  3:51       ` Brendan Simon
1999-12-15 19:04         ` Dan Malek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).