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 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.