Linux MIPS Architecture development
 help / color / mirror / Atom feed
From: Carsten Langgaard <carstenl@mips.com>
To: "Kevin D. Kissell" <kevink@mips.com>
Cc: Johannes Stezenbach <js@convergence.de>, linux-mips@oss.sgi.com
Subject: Re: Mips16 toolchain?
Date: Tue, 26 Mar 2002 09:10:57 +0100	[thread overview]
Message-ID: <3CA02D11.B011962@mips.com> (raw)
In-Reply-To: 00e901c1d40d$a257a200$0deca8c0@Ulysses

"Kevin D. Kissell" wrote:

> > I saw that the algorithmics toolchain (which Dominic Sweetman
> > offered to the Linux/MIPS community here a month ago) claims
> > to have full support for the mips16 instruction set.
> >
> > My questions:
> > Does anyone here have experiences with mips16 and/or with the
> > algorithmics toolchain?
>
> Yes.  Both Algorithmics and Green Hills embedded
> tool chains support it reasonably well.  GHS has no
> Linux target, though.  Algorithmics has been working
> on one, but I'm not sure what it's current status is.
>
> > Is there working support for mips16 in any other gcc-version?
>
> Cygnus (now part of Red Hat) did the very first MIPS16
> support for gcc, most of which found its way into the
> main development/maintence stream.  But apparently
> not enough of it, based on your experience.
>
> > How about gcc-3.x from CVS?
>
> No data there.
>
> > Any other comments or recommendations regarding mips16?
>
> MIPS16 requires more than just gcc support.
> One needs a binutils that can distinguish a MIPS16
> binary module (or function if you want to be fancy and
> mix/match within modules)  from a MIPS32/64 module
> and perform fixups so that the right selections are made
> between JAL and JALX on function invocations.
> If you've got that, you should not need a seperate
> MIPS16 libc.
>
> To correctly support MIPS16, the Linux kernel does
> need to be tweaked in those cases where user-mode
> instructions are decoded and interpreted, as in
> arch/mips/kernel/branch.c and unaligned.c.
> I believe that code has been prototyped somewhere,
> but it's not yet in any commonly used repository to
> the best of my knowledge.  If you avoid throwing
> executing non-instructions, performing unaligned
> accesses, etc, you should be able to tiptoe around
> that deficiency.

I don't think you need to tiptoe to get it working :-;
It should be easy to avoid non-instructions, unaligned accesses and co.
We have a few MIPS16 applications running using Algorithmics compiler
and a static non-PIC libc.

>
>             Regards,
>
>             Kevin K.

--
_    _ ____  ___   Carsten Langgaard   Mailto:carstenl@mips.com
|\  /|||___)(___   MIPS Denmark        Direct: +45 4486 5527
| \/ |||    ____)  Lautrupvang 4B      Switch: +45 4486 5555
  TECHNOLOGIES     2750 Ballerup       Fax...: +45 4486 5556
                   Denmark             http://www.mips.com

  parent reply	other threads:[~2002-03-26  8:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-25 13:58 Mips16 toolchain? Johannes Stezenbach
2002-03-25 14:59 ` Kevin D. Kissell
2002-03-25 14:59   ` Kevin D. Kissell
2002-03-26  8:10   ` Carsten Langgaard [this message]
2002-03-25 18:13 ` Dominic Sweetman
2002-03-26 18:53 ` Johannes Stezenbach
     [not found] <no.id>
2002-03-25 20:37 ` Hartvig Ekner

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=3CA02D11.B011962@mips.com \
    --to=carstenl@mips.com \
    --cc=js@convergence.de \
    --cc=kevink@mips.com \
    --cc=linux-mips@oss.sgi.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