From: Pavel Zholkover <paulzhol@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] plan9 go output faults on 9vx but ok on cpu
Date: Thu, 13 Jan 2011 01:28:05 +0200 [thread overview]
Message-ID: <AANLkTinW1_mMPh6FbNALD+YoQRd88o86yQRcu4q=VOXU@mail.gmail.com> (raw)
In-Reply-To: <314ea9d7e23ffbdf3d31c0a3dc3461ab@brasstown.quanstro.net>
> main9.s sets _tos on entry. why not just use _tos as
> the c glue code does?
>
> - erik
>
>
I'm already setting _tos on entry:
http://code.google.com/p/go/source/browse/src/pkg/runtime/plan9/386/rt0.s
TEXT _rt0_386_plan9(SB),7, $0
MOVL AX, _tos(SB)
// move arguments down to make room for
// m and g at top of stack, right before Tos.
...
the hard coded addresses are here:
http://code.google.com/p/go/source/browse/src/pkg/runtime/mkasmh.sh
case "$GOOS" in
...
plan9)
echo '#define get_tls(r)'
echo '#define g(r) 0xdfffefc0'
echo '#define m(r) 0xdfffefc4'
which are easy enough to modify and here:
http://code.google.com/p/go/source/browse/src/cmd/8l/pass.c
^patch(void)
...
if(HEADTYPE == 2) { // Plan 9
if(p->from.type == D_INDIR+D_GS
&& p->to.type >= D_AX && p->to.type <= D_DI) {
p->as = AMOVL;
p->from.type = D_ADDR+D_STATIC;
p->from.offset += 0xdfffefc0;
}
}
^dostkoff(void)
...
case 2: // Plan 9
p->as = AMOVL;
p->from.type = D_ADDR+D_STATIC;
p->from.offset = 0xdfffefc0;
p->to.type = D_CX;
break;
I am not that familiar with the linker, but maybe calling Sym*
lookup("_tos") and adding some code to to add instructions for
calculating the offset would work.
It was just easier for me to start working on a kvm vm...
next prev parent reply other threads:[~2011-01-12 23:28 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-11 7:54 Skip Tavakkolian
2011-01-11 14:11 ` erik quanstrom
2011-01-11 15:06 ` Devon H. O'Dell
2011-01-11 17:03 ` Charles Forsyth
2011-01-11 17:51 ` ron minnich
2011-01-11 19:35 ` Pavel Zholkover
2011-01-11 23:58 ` Charles Forsyth
2011-01-11 16:25 ` ron minnich
2011-01-12 8:32 ` Skip Tavakkolian
2011-01-12 16:12 ` andrey mirtchovski
2011-01-12 22:03 ` ron minnich
2011-01-13 5:54 ` ron minnich
2011-01-14 17:32 ` Pavel Zholkover
2011-01-15 2:00 ` Anthony Martin
2011-01-15 9:47 ` Pavel Zholkover
2011-01-15 9:01 ` kokamoto
2011-01-15 9:19 ` Pavel Zholkover
2011-01-15 9:30 ` lucio
2011-01-15 9:58 ` Pavel Zholkover
2011-01-15 10:29 ` lucio
2011-01-15 10:40 ` lucio
2011-01-15 11:25 ` Pavel Zholkover
2011-01-16 1:51 ` kokamoto
2011-01-16 2:04 ` kokamoto
2011-01-16 6:21 ` kokamoto
2011-01-17 12:03 ` kokamoto
2011-01-17 15:20 ` [9fans] how to make hardware work? sergey.kish
2011-01-16 2:06 ` [9fans] plan9 go output faults on 9vx but ok on cpu Skip Tavakkolian
2011-01-11 17:03 ` Pavel Zholkover
2011-01-11 18:55 ` Anthony Martin
2011-01-11 19:06 ` Anthony Martin
2011-01-11 22:58 ` ron minnich
2011-01-12 22:31 ` Anthony Martin
2011-01-12 22:36 ` erik quanstrom
2011-01-12 23:28 ` Pavel Zholkover [this message]
2011-01-12 23:29 ` Charles Forsyth
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='AANLkTinW1_mMPh6FbNALD+YoQRd88o86yQRcu4q=VOXU@mail.gmail.com' \
--to=paulzhol@gmail.com \
--cc=9fans@9fans.net \
/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).