Re: Motorola MPC8260-ADS Boot hassel

2 messages, 2 authors, 2000-06-02 · open the first message on its own page

Re: Motorola MPC8260-ADS Boot hassel

From: Murray Jensen <hidden>
Date: 2000-06-02 04:29:53

OK, I' stumped. I'm trying to do a port to Motorola's
MPC8260 evaluation board using 2.3.99-pre7. Aside from
hacking the loader and the 8260_io/uart.c to handle
the console on SCC1, I've done nothing. The following is the
boot messages:

loaded at:     00600000 0060B288
relocated to:  00400000 0040B288
board data at: 00407140 00407164 <= this is within range on line above
relocated to:  00200100 00200124
zimage at:     00606000 00675258
initrd at:     00675258 0084C0A3
avail ram:     0084D000 01000000
The secondary boot code is being relocated over the top of the board data
(before it is relocated). Perhaps this is your problem?

Also, check that your uncompressed kernel image size (use objdump on vmlinux
in the top level directory - only the important sections are copied) is less
than 2Mbyte (0x200000) - if it's bigger, it will overwrite the kernel boot
arguments and relocated board data.

Finally, I have found that a NULL pointer access in wakeup_process() is
usually because something early on has prevented an essential kernel task
from being started, but somewhere else wants to wake that kernel task up
(in particular bdflush, which is woken up when buffers are low). Fix the
early problem and the NULL access goes away. But to be safe, try this:

diff -u -r1.1.1.12 buffer.c
--- buffer.c	2000/05/16 01:31:41	1.1.1.12
+++ buffer.c	2000/06/02 04:26:16
@@ -2336,7 +2336,7 @@
 {
 	DECLARE_WAITQUEUE(wait, current);

-	if (current == bdflush_tsk)
+	if (bdflush_tsk == 0 || current == bdflush_tsk)
 		return;

 	if (!block) {
Hope this helps. Cheers!
								Murray...
--
Murray Jensen, CSIRO Manufacturing Sci & Tech,         Phone: +61 3 9662 7763
Locked Bag No. 9, Preston, Vic, 3072, Australia.         Fax: +61 3 9662 7853
Internet: Murray.Jensen@cmst.csiro.au  (old address was mjj@mlb.dmt.csiro.au)


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

Re: Motorola MPC8260-ADS Boot hassel

From: Dan Malek <hidden>
Date: 2000-06-02 14:06:46

Murray Jensen wrote:
quoted
relocated to:  00400000 0040B288
board data at: 00407140 00407164 <= this is within range on line above
relocated to:  00200100 00200124
The secondary boot code is being relocated over the top of the board data
(before it is relocated). Perhaps this is your problem?
This is telling you everything is fine.  The initial board data in
this case is part of the first relocated image.  This is moved to
the following address (0x200100).  It's irrelevant in this case to
move the data, but to simplify the logic it is always done.  In the
case where the initial board data is part of the flash rom or (the
right way) passed to you by the boot rom, it must be relocated.
-       if (current == bdflush_tsk)
+       if (bdflush_tsk == 0 || current == bdflush_tsk)

This is the real solution to the problem.  Thanks.


	-- Dan

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help