Hi,
I'm running an ebsa285-like system with 2.2.11-rmk1-stk1 (stk1 means
some stuff specific to our board), and I'm seeing something strange.
I've had Linux running on this board for quite some time now, but all of
the time I've noticed that it never boots up all the way each time I
reboot it. I have vxWorks firmware which facilitates booting over the
Intel 21143 ethernet chip, but I only have about a 50% boot success
rate, i.e. 50% of the time I need to reboot and try again. I've put
code in head-armv.S to track this down (basically banging individual
characters out the UART), and I've trace it to where the MMU is enabled.
Here's the sequence:
mov lr, pc
mov pc, r10 @ Call processor flush (returns ctrl
reg)
adr r5, __entry
sub r10, r10, r5 @ Make r10 PIC
ldr lr, .Lbranch
/** DEBUG! FootBase is 0x42000000 **/
ldr r9, FootBase
mov r8, #0x33
str r8, [r9, #0x160]
/** DEBUG! **/
mcr p15, 0, r0, c1, c0 @ Enable MMU & caches. In 3
instructions
@ we lose this page!
mov pc, lr
What happens is I see the 3 printed out before the jump and then a solid
hang. I noticed comments in 2.2.12-rmk1 that this is a known problem if
hte mov pc,lr instruction falls on a separate cache line, so I added the
.align 5 aligned_entry stuff from there but it had no affect. Is there
something else that could be going wrong?
--
Kyle Mestery | StorageTek's Storage Networking Group
[EMAIL PROTECTED] | http://www.freebsd.org/
[EMAIL PROTECTED] | http://www.netwinder.org/
Protect your right to privacy: www.freecrypto.org
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]