All of lore.kernel.org
 help / color / mirror / Atom feed
From: Charles J Gillan <C.Gillan@ecit.qub.ac.uk>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] Format of MMUCSR0 on 8540
Date: Fri, 18 Nov 2005 16:19:34 -0000	[thread overview]
Message-ID: <E1Ed8x8-0004gz-Ot@mail.sourceforge.net> (raw)
In-Reply-To: <7820FC7A-F69C-41AD-9A29-BAA5AD2208CC@kernel.crashing.org>


Thanks Kumar, for the information.

	> Can you see what's in the following registers, ESR, SRR0, SRR1?

      I stopped the code at the interrupt handler and see the following:

	ESR  = 0x00000000
      SRR0 = 0xFFFC0E00  (the address set in IVOR14 was 0x0e00,
                          TEXT_BASE = FFFC0000) 
      SRR1 = 0x00000200   

      There is no information on page 6-18 of the 8540RM where these
      registers are defined. Does the SRR1 value have significance?

	> Also, if I remember correctly there are some patches to u-boot for

      > it to work properly with the CodeWarrior JTAG debuggers.

      From where would I get these? Only FreeScale/Metrowerks ?

Charles.

-----Original Message-----
From: Kumar Gala [mailto:galak at kernel.crashing.org] 
Sent: 18 November 2005 15:43
To: C.Gillan at ecit.qub.ac.uk
Cc: u-boot-users at lists.sourceforge.net
Subject: Re: [U-Boot-Users] Format of MMUCSR0 on 8540


On Nov 18, 2005, at 9:19 AM, Charles J Gillan wrote:

>
> I downloaded U-boot from CVS on Nov 14th and have compiled
> and run this on a TQM8540 board (with a Rev 2 MPC8540 chip).
>
> However, I started stepping through this with the CodeWarrior
> debugger (and a FreeScale USB TAP - COP version) find that
> the "isync" in the
> following code from start.S is actually causing Interrupt 14
> to be executed (TLBInstructionException).
>
> 	/*
> 	 * Invalidate MMU L1/L2
> 	 *
> 	 * Note: There is a fixup earlier for Errata CPU4 on
> 	 * Rev 1 parts that must precede this MMU invalidation.
> 	 */
> 	li	r2, 0x001e
> 	mtspr	MMUCSR0, r2
> 	isync  <------------------- Interrupt
>
> Without CodeWarrior, I do eventually see the U-Boot command
> line appear on the serial port (however it did take several seconds
> after power on, more than I expected).
>
> Checking the 8540RM manual, I see that there appear to be only two
> bits that need to be set to invalidate cache (page 633 on MMUCSR0).
>
> Can anyone on the explain the presence of
>
>        0x001e
>
> as opposed to
>
>        0x0006
>
> in the above code?

It's flash invalidating ALL of the TLB arrays.  A value of 0x6 will  
only do the L2 arrays.

> Any suggestions as to why this exception arises. Has anyone seen it  
> with
> An Abatron BDI2000 or not - as the case may be.

Can you see what's in the following registers, ESR, SRR0, SRR1?

Also, if I remember correctly there are some patches to u-boot for it  
to work properly with the CodeWarrior JTAG debuggers.

- kumar

  reply	other threads:[~2005-11-18 16:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-18 15:19 [U-Boot-Users] Format of MMUCSR0 on 8540 Charles J Gillan
2005-11-18 15:42 ` Kumar Gala
2005-11-18 16:19   ` Charles J Gillan [this message]
2005-11-18 18:35     ` Kumar Gala
2005-11-18 20:11       ` Wolfgang Denk
2005-11-18 20:14         ` Kumar Gala

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1Ed8x8-0004gz-Ot@mail.sourceforge.net \
    --to=c.gillan@ecit.qub.ac.uk \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.