From: "Erik J. Green" <erik@greendragon.org>
To: "linux-mips@linux-mips.org" <linux-mips@linux-mips.org>
Subject: 64 to 32 bit jr
Date: Mon, 7 Apr 2003 15:01:59 +0000 [thread overview]
Message-ID: <1049727719.3e9192e77cc49@my.visi.com> (raw)
In-Reply-To: <Pine.GSO.3.96.1030404161724.7307D-100000@delta.ds2.pg.gda.pl>
Quoting "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>:
[deletions]
> > > > *** PROM write error on cacheline 0x1fcd3b00 at PC=0x211c4018
> RA=0xffffffff9fc5ace4
> > [..snip..]
> > >
> > > 0x211c4018 is a mapped address, which you can't use that early in a
> boot.
> > Isn't 0xa8000000211c4000 in xkphys and therefore unmapped? The PROM only
> > seems to look at the lower 32bits of PC though.
>
> 0xa8000000211c4000 is indeed in XKPHYS but the code jumps to 0x211c4018.
Okay, I want to make sure I understand the addressing correctly for the 64 to 32
bit jump. The existing code for the IP27 (seems to load at about
a800000000000000, which is one of the segments in xkphys, corresponding to
physical memory starting at address 0. Head.S then jumps to the 32-bit part of
the xkphys address, which happens to be arranged so that it matches the correct
(next instruction) address in kseg0.
I am unable to arrange my addresses similarly neatly, mostly I think due to
fighting with the toolchain I have. Is it "legal" for me to load a kernel using
the xkphys address and then do something like:
lui t0,0x8000
addiu t0,t0,@next
jr t0
nop
next:
to jump to the next instruction but in kseg0 instead of xkphys? I believe the
jump target should be word aligned in this case because it's the start of an
instruction. I'm assuming if I generate a jr to a 32 bit address that the cpu
will assume I'm jumping to a compatibility segment, am I wrong?
Erik
--
Erik J. Green
erik@greendragon.org
next prev parent reply other threads:[~2003-04-07 15:02 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-04 3:44 Unknown ARCS message/hang Erik J. Green
2003-04-04 12:58 ` Maciej W. Rozycki
2003-04-04 13:19 ` Guido Guenther
2003-04-04 14:19 ` Maciej W. Rozycki
2003-04-04 14:35 ` Guido Guenther
2003-04-04 14:40 ` Guido Guenther
2003-04-04 14:57 ` Erik J. Green
2003-04-04 15:27 ` Maciej W. Rozycki
2003-04-07 15:01 ` Erik J. Green [this message]
2003-04-07 16:30 ` 64 to 32 bit jr Maciej W. Rozycki
2003-04-07 17:18 ` Erik J. Green
2003-04-07 18:10 ` Maciej W. Rozycki
2003-04-09 1:33 ` Ralf Baechle
2003-04-04 14:43 ` Unknown ARCS message/hang Erik J. Green
2003-04-04 20:04 ` Thiemo Seufer
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=1049727719.3e9192e77cc49@my.visi.com \
--to=erik@greendragon.org \
--cc=linux-mips@linux-mips.org \
/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