Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 08 Jul 2010 02:12:50 -0600 (MDT)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        c.jayachandran@gmail.com
Cc:        jmallett@FreeBSD.org, freebsd-mips@FreeBSD.org
Subject:   Re: Merging 64 bit changes to -HEAD - part 4
Message-ID:  <20100708.021250.1099368555950605809.imp@bsdimp.com>
In-Reply-To: <AANLkTikSVi27V2UICgLvKd8Bk7v6tuGty9YX6-C6-21H@mail.gmail.com>
References:  <AANLkTikSVi27V2UICgLvKd8Bk7v6tuGty9YX6-C6-21H@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <AANLkTikSVi27V2UICgLvKd8Bk7v6tuGty9YX6-C6-21H@mail.gmail.c=
om>
            "Jayachandran C." <c.jayachandran@gmail.com> writes:
: On Tue, Jun 15, 2010 at 7:06 PM, Jayachandran C.
: <c.jayachandran@gmail.com> wrote:
: > I have volunteered to merge Juli's 64-bit work into HEAD, =A0and
: > hopefully get it to work on XLR too. The tree
: > (http://svn.freebsd.org/base/user/jmallett/octeon) has quite a bit =
of
: > changes, so I would like to do this over multiple changesets and
: > without breaking the current o32 code.
: =

: Here's the next installment, this has the next set of Juli's changes
: and some fixes to get it working on XLR. The patches in this set are:=

: =

: mips-segtab-macro.patch :
:   Change PDE/PTE access to a macro (from Juli's branch)

This looks ok, I think.

: mips-cache-fix.patch :
:  Minor fix for cache code (JC)

This looks good.

: rmi-other.patch:
:  64 bit compilation fixes for sys/mips/rmi (JC)
:  Fixes to platform and driver code for 64 bit compilation, including
: changes to ethernet driver.

This is xlr specific, so I can't comment.

: mips-rmi-kx-enable.patch:
:  Changes to enable KX bit for TARGET_XLR_XLS (JC).
:  I have added another case for the TARGET_OCTEON #ifdef in exception.=
S
: and locore.S, but I think this can be moved to  a header file later.

Yea, we need to do some rework here, but I think this is basically OK.

: pmap-n64.patch
:  The main n64 patch (from Juli's branch)
:   This still uses the old 2-level page tables. But this adds other
: pmap code to support n64. I have re-arranged some of  Juli's code to
: reduce #ifdefs.

I think this could be done in smaller bites.  At least the
MIPS_{PYHS,KSEGx}_TO_{KSEGx,PHYS} stuff can be done as a separate
patch.

I really like the use of direct maps where possible for 64-bit
machines. =


There's a number of comment fixes in this, which seem to be logically
independent as well.  Not sure it is worth the effort of busting these
out though.

: runq-64.patch
:   64-bit rqb_word_t for n64 (JC)

I think this is cool.

: ldscript-64.patch
:  64 bit linker script (JC)
:  linker script for 64 bit compilation, and XLR configuration file.

I wonder if the octeon ld script can be merged or if we can use this
for octeon.  Some investigation is warranted, I think...

: With these changes, a n64 kernel can be compiled and it will to
: 'mountroot>' on XLR.   There is more code left to merge in Juli's
: branch - 32 bit compat code, sfbuf/uio, UMA alloc, and DDB. which I
: should be able to get in the next  one or two passes.

OK.

: Let me know your comments. There are only two minor changes should
: affect the existing o32 code paths in the above code (moving the chec=
k
: for >512M, and change in pmap_map to handle KSEG0 addresses), but let=

: me know if something breaks.

Will do.  I'll see if I can create a system with these patches...

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100708.021250.1099368555950605809.imp>