Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Mar 2010 19:58:18 +0530
From:      "C. Jayachandran" <c.jayachandran@gmail.com>
To:        freebsd-mips@freebsd.org
Subject:   n32 support patches
Message-ID:  <98a59be81003010628g6099768erc397bc90841840f8@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
I'm in the process of getting n32 ABI support for the RMI processors.
The plan is have n32 compiled kernel with 64-bit register_t and
physaddr_t and 32 bit long and pointer types.

I've attached two patches, one for support for n32 in toolchain and
one for n32 support in kernel compilation.  With this I am able to
compile the kernel and user space with n32, and the boot-up reaches
until init. There is a lot more work on user-space and kernel (esp in
mips/mips/*.S) before it can complete boot-up.

Please review and let me know if you have any comments or objections
on this approach. The patches are:

http://sites.google.com/site/cjayachandran/files/n32-toolchain.patch
Toolchain support for N32
- Adds the linker emulations needed for n32
- Common preprocessor defines for ABI (_ABI_MIPS_SIM and _ABI???).
- Sets the long double type as 64 bit (this should be 128 bit in n32,
but there is some work needed to get the 128 bit soft-float working).

http://sites.google.com/site/cjayachandran/files/n32-kernel.patch
N32 compilation - makefiles and conf
- Adds ldscript.mips.n32.
- Some cleanup in Makefile.mips, add ABI flags
- bsd.cpu.mk CFLAGS for n32 compilation and linking

I have introduced a TARGET_N32 similart to TARGET_64 for n32
compilation.  But I think on the long term, we need clean up the
different flags that affect architecture and ABI. Currently there is
an overlap between the TARGET_CPUTYPE flag, the ISA_<arch> flags  and
the TARGET_<type> flags.

Regards,
JC.



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