Merging 64 bit changes to -HEAD - part 4

M. Warner Losh imp at bsdimp.com
Thu Jul 8 08:18:33 UTC 2010


In message: <AANLkTikSVi27V2UICgLvKd8Bk7v6tuGty9YX6-C6-21H at mail.gmail.com>
            "Jayachandran C." <c.jayachandran at gmail.com> writes:
: On Tue, Jun 15, 2010 at 7:06 PM, Jayachandran C.
: <c.jayachandran at gmail.com> wrote:
: > I have volunteered to merge Juli's 64-bit work into HEAD,  and
: > 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 check
: 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


More information about the freebsd-mips mailing list