Subject: Re: 64-bit paddr_t (again, arrgh....)
To: Garrett D'Amore <garrett_damore@tadpole.com>
From: Simon Burge <simonb@wasabisystems.com>
List: port-mips
Date: 01/31/2006 09:23:41
On Mon, Jan 30, 2006 at 12:00:24PM -0800, Garrett D'Amore wrote:
> As Izumi-san recently pointed out, there is a problem with my current approach
> of conditionalizing the size of paddr_t on 64-bit platforms. The problem is
> that LKMs are likely to be impacted. (Most of the userland tools work fine,
> which was my original concern.)
>
> Therefore, I'd like to follow one of two approaches, and I would like feedback
> on which to follow *sooner* rather than later.
>
> Option one: make paddr_t 64-bit on all evbmips platforms (basically modifyin
> <machine/types.h>). The current thinking is that this will not adversely
> impact any "current" hardware that has R4K style MMUs. What I'm not sure is
> whether or not there is any desire to include future additional MIPS parts in
> the evbmips port that this would cause a problem for. Apart from
> compatibility, there is the concern of increasing the size of the kernel, but
> I consider this concern rather negligible.
>
> Option two: separate out the Alchemy parts into a separate port (aumips). The
> main objection to this, I think, is additional complexity that it would
> create. A few kernel bits could be simplified a bit, since at that point
> you don't have to consider e.g. 64-bit procs and compatibility with malta.
>
> I would like to reach a decision on this as soon as possible. My preference
> is to just change the paddr_t size across the entire evbmips port.
Option three could be: Have two sets of LKMs for the evbmips port, one 32-bit
paddr_t and one 64-bit paddr_t.
I still think there is no reason to separate out the Alchemy port to
a separate port. This issue of needing 64-bit paddr_t could possibly
apply to the MIPS64 Malta parts as well, so we'd end up moving most of
evbmips elsewhere and still not have acheived anything.
I think that option one is probably the best to go for. A while ago I
tried using 64-bit paddr_t on an Alchemy board and a simple benchmark of
"build tcsh over NFS" was the same for both 32-bit and 64-bit paddr_t
for multiple runs - any time differences were lost in the noise.
Simon.
--
Simon Burge <simonb@wasabisystems.com>
NetBSD Development, Support and Service: http://www.wasabisystems.com/