Linux MIPS Architecture development
 help / color / mirror / Atom feed
From: Ralf Baechle <ralf@oss.sgi.com>
To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Cc: Jun Sun <jsun@mvista.com>, "Kevin D. Kissell" <kevink@mips.com>,
	linux-mips@oss.sgi.com
Subject: Re: FPU emulator unsafe for SMP?
Date: Wed, 20 Feb 2002 16:05:13 +0100	[thread overview]
Message-ID: <20020220160513.A17227@dea.linux-mips.net> (raw)
In-Reply-To: <Pine.GSO.3.96.1020220153608.5781A-100000@delta.ds2.pg.gda.pl>; from macro@ds2.pg.gda.pl on Wed, Feb 20, 2002 at 03:46:32PM +0100

On Wed, Feb 20, 2002 at 03:46:32PM +0100, Maciej W. Rozycki wrote:

> > The context register is actually intended to be used for indexing a flat
> > 4mb array of pagetables on a 32-bit processor.  It's a bit ill-defined
> > on R4000-class processors as it assumes a size of 8 bytes per pte, so
> > cannot be used in the Linux/MIPS kernel without shifting bits around.
> 
>  Ill???  I think someone was just longsighted enough not to limit PTEs to
> 38-bit physical addresses.  A shift costs a single cycle if we want to
> save memory. 

The idea of the register was to directly generate the address of a PTE.
An extra instruction in TLB exception handlers isn't only visible in
performance, it also means introducing constraints on the address itself -
an arithmetic shift by one bit for 4 byte PTEs will result in the two
high bits of the address being identical, an arithmetic shift will make
the high bit a null etc.  Just on 32-bit kernels on 64-bit hw you're
lucky, you have a bit 32 in c0_context which will be shifted into bit 31.

Messy?

  Ralf

  reply	other threads:[~2002-02-20 16:06 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-15  1:56 FPU emulator unsafe for SMP? Jun Sun
2002-02-15  2:11 ` Ralf Baechle
2002-02-15  7:20   ` Jun Sun
2002-02-15  8:30     ` Jun Sun
2002-02-15  9:59       ` Kevin D. Kissell
2002-02-15  9:59         ` Kevin D. Kissell
2002-02-19 22:05         ` Jun Sun
2002-02-19 22:19           ` Ralf Baechle
2002-02-20  0:08           ` Kevin D. Kissell
2002-02-20  0:08             ` Kevin D. Kissell
2002-02-20  1:12             ` Jun Sun
2002-02-20  3:28               ` Greg Lindahl
2002-02-20  4:24                 ` Jun Sun
2002-02-20  4:32                   ` Daniel Jacobowitz
2002-02-20  9:48                     ` Jun Sun
2002-02-20 10:14                     ` Kevin D. Kissell
2002-02-20 10:14                       ` Kevin D. Kissell
2002-02-20 13:50                       ` Ralf Baechle
2002-02-20 20:53                         ` Greg Lindahl
2002-02-20 13:24                     ` Ralf Baechle
2002-02-20  4:48                   ` Greg Lindahl
2002-02-20  9:27                   ` Florian Lohoff
2002-02-20 13:18                   ` Ralf Baechle
2002-02-20  9:56                 ` Geert Uytterhoeven
2002-02-20 11:14                   ` Kevin D. Kissell
2002-02-20 13:10                 ` Ralf Baechle
2002-02-20  8:27               ` Dominic Sweetman
2002-02-20  9:30                 ` Florian Lohoff
2002-02-20 13:56                   ` Ralf Baechle
2002-02-20 13:09               ` Ralf Baechle
2002-02-20 14:42                 ` Kevin D. Kissell
2002-02-20 14:42                   ` Kevin D. Kissell
2002-02-20 14:46                 ` Maciej W. Rozycki
2002-02-20 15:05                   ` Ralf Baechle [this message]
2002-02-20 15:45                     ` Maciej W. Rozycki
2002-02-20 13:03             ` Ralf Baechle
2002-02-15  8:14 ` Kevin D. Kissell
2002-02-15  8:14   ` Kevin D. Kissell
2002-02-15 10:57   ` Ralf Baechle
2002-02-19 22:02     ` Jun Sun

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=20020220160513.A17227@dea.linux-mips.net \
    --to=ralf@oss.sgi.com \
    --cc=jsun@mvista.com \
    --cc=kevink@mips.com \
    --cc=linux-mips@oss.sgi.com \
    --cc=macro@ds2.pg.gda.pl \
    /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