From: "Dan A. Dickey" <ddickey@charter.net>
To: Richard Hendricks <richard.hendricks@motorola.com>
Cc: "linuxppc-embedded@lists.linuxppc.org"
<linuxppc-embedded@lists.linuxppc.org>
Subject: Re: How to get rom code to go on FADS?
Date: Mon, 15 May 2000 12:00:28 -0500 [thread overview]
Message-ID: <39202D2C.385DD3B@charter.net> (raw)
In-Reply-To: 39201DD2.2135361E@motorola.com
Richard Hendricks wrote:
>
> "Dan A. Dickey" wrote:
> >
> >
> > /* Now we need to fix the LR since it points back to
> > 0x0000_010x,
> > * not 0x0280_010x like it needs to after we muck up the BCSR's
> > */
> >
> > mflr r3
> > oris r3, r3, 0x0280
> > mtlr r3
> >
> > addis r0,0,0
> >
> > addi r3, r0, MSR_ /* Set ME, RI flags */
> > mtmsr r3
> > mtspr SRR1, r3 /* Make SRR1 match MSR */
> >
> > /* Make the LR equal the PC. */
> > oris r3,r0,sync_jump@h
> > ori r3,r3,sync_jump@l
> > mtspr LR,r3
> > bclr 20,0
> > sync_jump:
>
> Kinda odd you leave the mflr, oris, mtlr and then change it to match the
> PC.
> Since you are not being called from another function, you really
> shouldn't
> need either. (IE, what's the point in making the LR equal to the PC?
> Would probably make more sense to make it point to, say, the Machine
> Check exception)
This stuff up above came from Motorola's 860 Initialization code.
I claim mostly ignorance when it comes to the 860/850; I have a
high degree of desire to *not* learn assembly for this processor.
But I do understand that I will have at least be able to read it,
and write some things. Mostly, I'm hoping to leverage off of
what others have already done; and contribute in other areas.
> > #if 1
> > /* position IMMR */
> >
> > lis r1, IMMR_VALUE@h
> > ori r1, r1, 0
> > mtspr 638, r1
> >
> > bror1start:
> > /* need to setup BR1/OR1 to get to the BCSR on the fads */
> > lis r9,0xffff
> > ori r9,r9,0x8110
> > lis r10,0x0210
> > ori r10,r10,0x0001
> > stw r9,0x10C(r1)
> > stw r10,0x108(r1)
>
>
> > /* signal on */
> > lis r8,0x210
> > ori r8,r8,16
> > lis r9,0x210
> > ori r9,r9,16
> > lwz r10,0(r9)
> > rlwinm r9,r10,0,4,2
> > stw r9,0(r8)
>
> Hm.. Whay are you ori'ing in 16? BCSR1 should be at 0x4, not 0x10. You
> end
> up dropping r9 onto BCSR0, which can't be a good thing. Try changing
> the
> two ori's to ori r8,r8,4 and ori r9, r9, 4. Let me know what happens!
Going along with my ignorance of assembly, the above I copied out
of a .s file - the result of writing the above in C and asking the
compiler
to produce the .s. Cut & paste is a wonderful thing. :) However,
sometimes it comes back to haunt you. It'd be my guess that I did
not change one of the register names correctly (after doing the cut &
paste, I changed the registers to be something more "appropriate").
I'll try your suggestion shortly - however, the processor never
reaches this point in execution.
Following your recommendation of powering off/on and just doing a
"reset :ni", I've been able to learn more. I'm not sure what at
the moment, but things definitely are not working the way they
should - while the above code runs just fine when doing a "reset :h".
I'll let you know more soon.
-Dan
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
next prev parent reply other threads:[~2000-05-15 17:00 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-05-11 21:11 How to get rom code to go on FADS? Dan A. Dickey
2000-05-12 16:33 ` Richard Hendricks
2000-05-12 17:03 ` Dan A. Dickey
2000-05-12 18:57 ` Richard Hendricks
2000-05-13 13:54 ` Dan A. Dickey
2000-05-15 15:54 ` Richard Hendricks
2000-05-15 17:00 ` Dan A. Dickey [this message]
2000-05-15 17:43 ` Dan A. Dickey
2000-05-15 18:25 ` Dan A. Dickey
2000-05-16 14:50 ` Richard Hendricks
2000-05-16 21:03 ` Dan A. Dickey
2000-05-16 1:55 ` Dan A. Dickey
2000-05-16 14:45 ` Richard Hendricks
[not found] ` <3920ED16.A2D26629@snom.de>
[not found] ` <3921B844.572E3C63@charter.net>
2000-05-17 2:31 ` Dan A. Dickey
2000-05-17 19:08 ` Richard Hendricks
2000-05-18 3:20 ` Dan Malek
2000-05-18 3:22 ` Dan A. Dickey
2000-05-18 3:20 ` Dan A. Dickey
2000-05-18 16:15 ` Richard Hendricks
2000-05-19 11:12 ` Dan A. Dickey
2000-05-19 15:01 ` Richard Hendricks
2000-05-13 5:18 ` duncanp
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=39202D2C.385DD3B@charter.net \
--to=ddickey@charter.net \
--cc=linuxppc-embedded@lists.linuxppc.org \
--cc=richard.hendricks@motorola.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 NNTP newsgroup(s).