Linux MIPS Architecture development
 help / color / mirror / Atom feed
* reboot gets stuck in a TLB exception on Au1550 based board
@ 2005-07-13  0:25 Clem Taylor
  2005-07-13  0:46 ` Dan Malek
  2005-07-13  2:24 ` reboot gets stuck in a TLB exception on Au1550 based board [resolved but not explained] Clem Taylor
  0 siblings, 2 replies; 3+ messages in thread
From: Clem Taylor @ 2005-07-13  0:25 UTC (permalink / raw)
  To: linux-mips

I was wondering if anyone else has a problem with reboot not working
on a Au1550? When I issue a reboot, the kernel prints "** Resetting
Integrated Peripherals", but the system doesn't reboot.

My BDI shows that the PC it is in the exception handling in the early
part of the yamon startup code. After taking the exception, if I say
'go 0xBFC00000', then the Au boots up just fine. The PC ends up at
0xbfc00424 which is an jump to self in the exception handling code in
yamon:

.org 0x400
        /* 0xBFC00400 Catch other exceptions, except EJTAG debug */
        /* Check for interrupt */
        MFC0(   k0, C0_CAUSE )
        and     k0, C0_CAUSE_CODE_MSK
        srl     k0, C0_CAUSE_CODE_SHF
        subu    k0, C0_CAUSE_CODE_INT
        beq     k0, zero, interrupt
        nop
        /* Not an interrupt */
1:
        b       1b             <=- PC ends up here after reboot.
        nop

k0 (reg 26) == 2, which I think is a TLB load or instruction fetch exception.

One difference between the stock db1x00 code and my code is that
arch/mips/au1000/db1x00/board_setup.c:board_reset() does a write to
the BCSR.SYSTEM_CONTROL[SW_RST]. I don't have the FPGA on my hardware,
but it looks like the code is wrong anyway, because the BCSR is at
0xAF000000 on the db1550, not 0xAE000000. If I take my kernel/root
image and run it on the dbau1550 board, reboot works (but in that case
it is running a different version of yamon).

I was wondering if anyone might have a clue what is going on or some
suggestions on what I can do to continue debugging this?

                               Thanks,
                               Clem

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

* Re: reboot gets stuck in a TLB exception on Au1550 based board
  2005-07-13  0:25 reboot gets stuck in a TLB exception on Au1550 based board Clem Taylor
@ 2005-07-13  0:46 ` Dan Malek
  2005-07-13  2:24 ` reboot gets stuck in a TLB exception on Au1550 based board [resolved but not explained] Clem Taylor
  1 sibling, 0 replies; 3+ messages in thread
From: Dan Malek @ 2005-07-13  0:46 UTC (permalink / raw)
  To: Clem Taylor; +Cc: linux-mips


On Jul 12, 2005, at 5:25 PM, Clem Taylor wrote:

> I was wondering if anyone else has a problem with reboot not working
> on a Au1550?

What kernel and what version of YAMON?

I just happened to have a shell prompt on the Au1550 with 2.4.31
and YAMON ROM Monitor, Revision 02.24DB1550.

Reboot worked just fine, got me back to the YAMON prompt and
booted Linux.

>  When I issue a reboot, the kernel prints "** Resetting
> Integrated Peripherals", but the system doesn't reboot.

Do you know what peripherals may have been running
when you did the reboot?  I was using an NFS root file system
and had AC97 audio running.

> My BDI shows ....

What happens if you don't have the BDI connected?  Often,
boot roms step on debugger set up that the BDI does, causing
confusion on both parties.

> One difference between the stock db1x00 code and my code ....

Oh, now you tell me :-)  Custom hardware and different code,
I wonder why it doesn't work? :-)

It seems that if the hardware, YAMON, and Linux are all compatible,
there isn't any trouble.  Yes, I was using the Db1550.

> I was wondering if anyone might have a clue what is going on or some
> suggestions on what I can do to continue debugging this?

Only you know what is different, so you may want to look in those
places first.

Have fun!

	-- Dan

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

* Re: reboot gets stuck in a TLB exception on Au1550 based board [resolved but not explained]
  2005-07-13  0:25 reboot gets stuck in a TLB exception on Au1550 based board Clem Taylor
  2005-07-13  0:46 ` Dan Malek
@ 2005-07-13  2:24 ` Clem Taylor
  1 sibling, 0 replies; 3+ messages in thread
From: Clem Taylor @ 2005-07-13  2:24 UTC (permalink / raw)
  To: linux-mips

On 7/12/05, Clem Taylor <clem.taylor@gmail.com> wrote:
> I was wondering if anyone else has a problem with reboot not working
> on a Au1550? When I issue a reboot, the kernel prints "** Resetting
> Integrated Peripherals", but the system doesn't reboot.

It seems that my problem was related to turning off sys_auxpll, which
is the clock source for the PCI bus. If I just comment out the write
to sys_auxpll in au1000_restart() then the reboot seems to work just
fine. I'm not sure why disabling the PCI clock would cause yamon to
take a TLB fault... I guess I need to hook up the analyzer and see
what happens to the PCI devices when the PCI clock goes away.

                      Thanks for the suggestions,
                      Clem

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

end of thread, other threads:[~2005-07-13  2:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-13  0:25 reboot gets stuck in a TLB exception on Au1550 based board Clem Taylor
2005-07-13  0:46 ` Dan Malek
2005-07-13  2:24 ` reboot gets stuck in a TLB exception on Au1550 based board [resolved but not explained] Clem Taylor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox