Linux MIPS Architecture development
 help / color / mirror / Atom feed
From: Jun Sun <jsun@mvista.com>
To: carlson@sibyte.com
Cc: linux-mips@oss.sgi.com
Subject: Re: broken RM7000 in CVS ...
Date: Fri, 12 Jan 2001 13:39:51 -0800	[thread overview]
Message-ID: <3A5F79A7.1D5B36B@mvista.com> (raw)
In-Reply-To: 0101121237071J.07691@plugh.sibyte.com

Justin Carlson wrote:
> 
> On Fri, 12 Jan 2001, you wrote:
> > > If I'm understanding your idea correctly, this table would require you to
> > > always compile in all the mmu routines for all processors, just to fill in the
> > > table entries.  Doesn't seem like a particularly good idea to me, even if we
> > > could use generic mips32 routines for most parts.
> > >
> >
> > Each table entry can be surrounded by something like #if
> > defined(CONFIG_CPU_RM7000) and #endif.  That should take care of the problem.
> >
> 
> Not if you want to have constant-defined offsets into the table.  Which is just
> about the only reason to use a table for this...Either:
> 

No, I am thinking to have constant-defined offset into the table.  Instead, I
am thinking to do a linear search of the table and find a matching entry based
on the PRID.

Without table, I can see two alternatives, 1) switch/case statement to fill in
the data by statements (which is the current case) or 2) for each CPU
(protected by #ifdef CONFIG_) we define a mips_cpu struct.

I guess I just like table better than switch/case statements.  Table seems
cleaner to me.

I like table over option 2) because it is possible to build a kernel that
supports multiple CPUs.

> 1)  You've got multiple entries in the table for different cpus, which you're
> indexing by some hash of PRID fields.  This requires a full table.  (Or a really
> ugly hash function that's adaptive depending on which which cpu support is
> compiled in)
> 
> 2)  You've got a single entry table.
> 

In practice most tables probably only have single entry (due to the config),
but I guess that is OK.


Jun

  reply	other threads:[~2001-01-12 21:40 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-12  3:54 broken RM7000 in CVS Jun Sun
2001-01-12  7:23 ` Kevin D. Kissell
2001-01-12  7:23   ` Kevin D. Kissell
2001-01-12 18:58   ` Jun Sun
2001-01-12 19:06     ` Justin Carlson
2001-01-12 20:27       ` Jun Sun
2001-01-12 20:29         ` Justin Carlson
2001-01-12 21:39           ` Jun Sun [this message]
2001-01-12 23:48         ` Alan Cox
2001-01-12 23:48           ` Alan Cox
2001-01-15  8:37           ` Ralf Baechle
2001-01-15  8:37             ` Ralf Baechle
2001-01-12 19:42     ` Kevin D. Kissell
2001-01-12 19:42       ` Kevin D. Kissell
2001-01-15  8:42       ` Ralf Baechle
2001-01-15  8:42         ` Ralf Baechle

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=3A5F79A7.1D5B36B@mvista.com \
    --to=jsun@mvista.com \
    --cc=carlson@sibyte.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