public inbox for sid@sourceware.org
 help / color / mirror / Atom feed
From: "Robert Cragie" <rcc@jennic.com>
To: <sid@sources.redhat.com>
Subject: FW: Trying to run on pid7t board
Date: Fri, 23 Aug 2002 04:14:00 -0000	[thread overview]
Message-ID: <NDBBLOIOMLKELOJBAPAGAEIGCOAA.rcc@jennic.com> (raw)

I have done some more debugging on the problem I reported earlier regarding
exception handling in the ARM pid7t implementation. It actually threw an
abort_prefetch exception. I did a trace-semantics on what SID was doing and
it works fine until trying to return from exception:

0x8240: LDR_PRE_INC_IMM_OFFSET	gr[0]:=0x13
0x8244: MSR_S	spsr:=0x13
0x8248: AND_IMM	gr[1]:=0x13
0x824c: CMP_IMM	zbit:=0x1  nbit:=0x0  cbit:=0x1  vbit:=0x0
0x8250: X_INVALID
0x4: AND_REG_IMM_SHIFT	gr[0]:=0x13
0x8: AND_REG_IMM_SHIFT	gr[0]:=0x13
0xc: LDR_PRE_INC_IMM_OFFSET	pc:=0x81ac

(it has now hit breakpoint at 0x81ac i.e. abort_prefetch exception handler)

The instruction at 0x8250 is:

ldmeqfd sp,{r0-r14,pc}^

The opcode for this is 0x08ddffff, which looks like

|COND|<4>|P|U|S|W|L| Rn |     Reglist    |
------------------------------------------
|0000|100|0|1|1|0|1|1101|1111111111111111|
------------------------------------------
| EQ |   |FD |^| |L| sp |   r0-r14,pc    |

I confess I know very little about this, but I notice in CGEN, in arm7.cpu,
only two ldmia's are supported (PUSWL = 01001 and PUSWL = 01011). The opcode
above (PUSWL: 01101) (i.e. restore user mode banked registers) is not
included, so does this need to be in here too in some guise? Would this be
causing the invalid prefetch?

Robert Cragie, Design Engineer
_______________________________________________________________
Jennic Ltd, Furnival Street, Sheffield, S1 4QT,  UK
http://www.jennic.com  Tel: +44 (0) 114 281 2655


-----Original Message-----
From: sid-owner@sources.redhat.com
[mailto:sid-owner@sources.redhat.com]On Behalf Of Robert Cragie
Sent: 22 August 2002 18:09
To: Frank Ch. Eigler
Cc: sid@sources.redhat.com
Subject: RE: Trying to run on pid7t board

[snip]

With some further juggling of eCos configuration, I have got it printing to
the gdb console (-uart1:gdb), to the console sid was run from (-uart1:stdio)
and the tksm tty window. Excellent! Now I am having problems with the
timer-related calls (cyg_thread_delay() etc.) - I notice in the list this
was also seen by Cristiano Pereira (04-Mar-02). I have done some debugging,
and timer interrupt seems to fire once, then a data_abort exception is
thrown a bit later; looks like the pc was 0xe59d0044. Ho hum. I will try to
get to the bottom of what is going on - if anyone has any ideas, I'd
appreciate them.


             reply	other threads:[~2002-08-23 11:14 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-23  4:14 Robert Cragie [this message]
2002-08-23  5:52 ` Ben Elliston
2002-08-23  8:19   ` Robert Cragie
2002-08-23 10:57     ` Ben Elliston

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=NDBBLOIOMLKELOJBAPAGAEIGCOAA.rcc@jennic.com \
    --to=rcc@jennic.com \
    --cc=sid@sources.redhat.com \
    /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 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 read-only IMAP folder(s) and NNTP newsgroup(s).