History log of /netbsd-current/sys/arch/mips/conf/Makefile.mips
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.73 26-Jul-2023 rin

Use OBJCOPY_STRIPFLAGS instead of STRIPFLAGS.


Revision tags: netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
# 1.72 26-Apr-2021 christos

Produce elf32 images for mipsn64eb too


# 1.71 25-Apr-2021 christos

use ${MACHINE_MIPS64}


Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118
# 1.70 01-Jan-2019 christos

branches: 1.70.16;
ELF2ECOFF -> MIPS_ELF2ECOFF


Revision tags: pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
# 1.69 22-Sep-2018 rin

- Determine KERN_AS automatically depending on whether OPT_MODULAR is
set or not, in the same way as libcompat.

- Specify OPT_MODULAR in the port Makefile instead of KERN_AS.

Now, KERN_AS=library is used for kernels without module(7) for all ports.

OK christos


Revision tags: pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.68 05-Jun-2018 christos

branches: 1.68.2;
use the compiler way of passing arguments to the linker.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
# 1.67 22-Feb-2017 maya

branches: 1.67.12;
leave the part for GCC >= 5.3 in.

Was a little over-eager and accidentally removed the else case.


# 1.66 22-Feb-2017 maya

GC workaround for GCC 4.8 fixed in GCC 5+


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
# 1.65 29-Mar-2016 macallan

branches: 1.65.2; 1.65.4;
make sure we compile mips_fpu.c and fp.S with -mhard-float


# 1.64 28-Mar-2016 martin

Restrict float format hacks to gcc 4.8


Revision tags: nick-nhusb-base-20160319
# 1.63 18-Feb-2016 macallan

gcc does not pass floating point options to the assembler
by default, because it is afraid that the stricter tests
will break userland code. The new binutils is pickier about
this. Gcc 5.x fixes the issue so for now, set explicitly
the assembler soft-float flags when we build the kernel.
see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64569


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.62 24-Aug-2015 uebayasi

Define ${LINKSCRIPT} in one place.


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
# 1.61 15-Nov-2014 uebayasi

branches: 1.61.2;
LINKSCRIPT is set only once, so use = not +=.


# 1.60 15-Nov-2014 uebayasi

Use LINKSCRIPT.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base tls-maxphys-base
# 1.59 10-Mar-2013 christos

Explicitly set KERN_AS (this could be done in /usr/src/sys/conf/Makefile.*)
so that modules work, on config files that did not set it explicitly. All
the files now use the standard logic, except the ones that set KERN_AS=obj
and Makefile.usermode which sets KERN_AS=library.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase bouyer-quota2-nbase rmind-uvmplock-base jym-xensuspend-base
# 1.58 20-Feb-2011 matt

branches: 1.58.4; 1.58.14;
Major merge forward from matt-nb5-mips64.
New fixup code.
New common SPL code.
New common interrupt code.
Move related variables into structures.
Cleanup locore (move MD variable into it).
Kill StudlyCaps
Use PCU for FPU


Revision tags: uebayasi-xip-base7 bouyer-quota2-base
# 1.57 01-Feb-2011 matt

Use elf32-ntrad{little,big}mips


# 1.56 21-Jan-2011 joerg

Switch remaining platforms to modern CPP for assembler.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
# 1.55 14-Dec-2009 matt

branches: 1.55.4; 1.55.6; 1.55.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.


Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
# 1.54 15-Feb-2009 cube

Convert the recently introduced awk command to retrieve the value of the
option MODULAR to using %MODULAR%. While it is now possible to only
request the new version in the affected Makefiles, it is made mandatory for
everybody because I just fixed a bug in config(1) that would not make it
fail in the case of a syntax error in the Makefile template.


# 1.53 14-Feb-2009 apb

Now that "options MODULAR" is handled via defflag, the Makefile
generated by config(1) in the kernel compile directory no longer
contains IDENT=-DMODULAR. Instead, there's an opt_modular.h file that
might or might not contain "#define MODULAR 1".

Adapt to this by adding an OPT_MODULAR variable to relevant Makefiles,
set via an awk script that parses opt_modular.h.


Revision tags: haad-dm-base2 haad-nbase2 haad-dm-base mjf-devfs2-base
# 1.52 11-Dec-2008 alc

branches: 1.52.2;
Clean-up makefile stub used to include in the build the binary HAL object


Revision tags: ad-audiomp2-base
# 1.51 13-Nov-2008 ad

LKM -> MODULAR


Revision tags: netbsd-5-0-2-RELEASE netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
# 1.50 18-Feb-2008 tsutsui

branches: 1.50.6; 1.50.10; 1.50.16; 1.50.18; 1.50.20; 1.50.24;
Backout previous. vr_idle.S no longer depends on assym.h.


# 1.49 18-Feb-2008 joerg

Another assym.h dependency for hpcmips


Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
# 1.48 03-Jan-2008 joerg

Missing assym.h dependency.


Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.47 17-Oct-2007 garbled

branches: 1.47.2; 1.47.8;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
# 1.46 25-May-2007 tsutsui

branches: 1.46.10;
Preserve local symbols on linking a kernel so that
we can get more useful trace on ddb(4).


# 1.45 17-May-2007 yamt

merge yamt-idlelwp branch. asked by core@. some ports still needs work.

from doc/BRANCHES:

idle lwp, and some changes depending on it.

1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.44 27-Aug-2006 matt

branches: 1.44.6; 1.44.8; 1.44.12; 1.44.14; 1.44.20; 1.44.22;
Add -msym32 to CFLAGS when MACHINE_ARCH is mips64e[bl].

Since kernels are always run out of KSEG0 (0xffffffff.8xxxxxxx), we can
take advantage of that if we load a 32 bit address (0x8xxxxxxx) that it
will be sign-extended to 64 bits (0xffffffff.8xxxxxxx).

So instead of 6 instructions (2 lui, 2 daddiu, dsll32, daddu) to load an
address, the normal number of 2 instructions (lui, daddiu) will be used.

Thus telling gcc/gas that symbols will always be 32 bits significantly
shrinks (by 10%) and speeds up a MIPS64 kernel.


# 1.43 27-Aug-2006 matt

Sign extend DEFTEXTADDR on MIPS64.


# 1.42 26-Aug-2006 matt

Nuke unneeded LP64 conditional section


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base
# 1.41 04-Apr-2006 gdamore

Add support for using the MIPS Atheros HAL.
Atheros WLAN added to default evbmips DBAU1500, DBAU1550, and MTX-1 configs.
Note that AR5312 config will require unique HAL that we don't have yet.


Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5 yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
# 1.40 11-Nov-2005 simonb

branches: 1.40.6; 1.40.8; 1.40.10; 1.40.12; 1.40.14;
Build libkern as a .o if LKMs are enabled so that all libkern functions
are available to LKMs, not just those needed by the kernel at link time.

From PR port-mips/31857 from Takehiko NOZAKI.


Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
# 1.39 31-May-2005 christos

branches: 1.39.2;
s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.38 01-Oct-2004 sekiya

Set LP64 default to "no".


# 1.37 01-Oct-2004 sekiya

Rework previous slightly, so that ld is passed the right flags for 64-bit mode.


# 1.36 29-Sep-2004 sekiya

Allow arguments to as/ld to be specified in the kernel config file. Provide
a mechanism to override ranlib.


# 1.35 04-Jun-2004 thorpej

Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.34 05-Oct-2003 tsutsui

branches: 1.34.4;
Define ELF2ECOFF here for native build.

(BTW, objcopy with OMAGIC kernel won't work on old pmax and sgimips machines?)


# 1.33 04-Jul-2003 simonb

Add some dependancies on assym.h; helps "make -j N" kernel builds.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.32 09-Dec-2002 simonb

branches: 1.32.6;
Remove the explicit `makeoptions MACHINE_ARCH="mipse{b,l}"' for kernel
builds and use the endianness of the toolchain being used to determine
the endianness of the kernel.


# 1.31 09-Nov-2002 thorpej

Build with kernel with -msoft-float.


# 1.30 09-Nov-2002 thorpej

* Add -mno-abicalls to AFLAGS.
* GCC 3.3's traditional preprocessor functions properly now, so we
no longer need to special-case it.


# 1.29 09-Nov-2002 thorpej

Nuke the CROSSDIR stuff.


# 1.28 09-Nov-2002 thorpej

No need to pass -mno-half-pic; NetBSD's compiler does not generate
half-pic references.


Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
# 1.27 04-Jun-2002 thorpej

Don't use -traditional-cpp if HAVE_GCC3.


Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base
# 1.26 05-Mar-2002 simonb

branches: 1.26.6; 1.26.8;
Don't explicitly depend locore_*.S and fp.S on assym.h - this is done
for all .S files in /sys/conf/Makefile.kern.inc.


Revision tags: ifpoll-base
# 1.25 09-Dec-2001 atatat

Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.


Revision tags: thorpej-mips-cache-base
# 1.24 26-Oct-2001 shin

branches: 1.24.2;
remove " in assignment of ENDIAN.
fixes mipseb link breakage.


# 1.23 26-Oct-2001 jmc

Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.


# 1.22 23-Oct-2001 thorpej

branches: 1.22.2;
For MIPS kernel Makefiles, don't set ENDIAN in std.${MACHINE}. Instead,
explicitly set MACHINE_ARCH to the appropriate thing. Makefile.mips will
then set all of the internal variables it needs to accordingly.


# 1.21 23-Oct-2001 thorpej

Use MACHINE, not TARGET_MACHINE.


# 1.20 16-Oct-2001 uch

R5900 support.
COP0_SYNC
In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p.
if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing.
IPL_ICU_MASK
mask interrupt directly ICU instead of SR.IM.
I've added this feature to support software interrupt for R5900.
and this option may be useful for platform which has cascaded ICU.


Revision tags: thorpej-devvp-base3
# 1.19 08-Oct-2001 simonb

Use a separate variable (${KERNLDSCRIPT}) for the name of the kernel
ld script, so it can be used in other places.


# 1.18 05-Oct-2001 simonb

Use ".-include" instead of the ".if exists(...) ..." dance.


# 1.17 05-Oct-2001 simonb

Use a single ldscript instead of separate scripts for either endianness;
use command line parameters to ld(1) instead to set the endian format.
Clean up some endian decisions in mips/conf/Makefile.mips.
Wrap some long lines.


Revision tags: thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.16 19-Jul-2001 oster

branches: 1.16.2;
By adding a well-placed space or two, 'make depend' no longer loses
due to a directory name like 'arc.current' messing up a sed substitution.


# 1.15 15-Jul-2001 takemura

Suppress warning message:
warning: duplicate script for target "fp.o" ignored
And delete verbose ifs.


# 1.14 29-May-2001 mrg

branches: 1.14.2;
define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.


# 1.13 23-May-2001 hubertf

Allow overriding the 'install' target.

(I have a nice 'install' target for cobalts here, but that only works there.
I guess I'll put that into htdocs now that the cobalt port uses Makefile.mips)


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.12 28-Mar-2001 tsutsui

Define ${OBJCOPY}.

XXX: Should we use ${CROSSDIR} here or not?


# 1.11 04-Jan-2001 shin

branches: 1.11.2;
- don't ignore DEFCOPTS (Makefile.mips).
- DEFCOPTS of hpcmips is "-Os -mmemcpy" (std.hpcmips).


# 1.10 17-Dec-2000 jdolecek

delete obsolete comment


# 1.9 09-Dec-2000 matt

cpp/lorder/mkdep don't have cross specific versions.


# 1.8 03-Dec-2000 matt

branches: 1.8.2;
Add DEFGP/CROSSDIR for hpcmips.


# 1.7 03-Dec-2000 matt

Remove redundant depend of fp.S


# 1.6 03-Dec-2000 matt

Include FP support if NOFPU is *NOT* defined.


# 1.5 03-Dec-2000 matt

Revert back to a machinearch (really cputype) of mips. Put ENDIAN back.


# 1.4 03-Dec-2000 matt

Deal with lack of floating point on hpcmips, etc.


# 1.3 03-Dec-2000 matt

Change arch from mips to mipsel/mipseb as appropriate. Nuke the ENDIAN
makeoption. Key off MACHINE_ARCH for adding -EB/-EL to CFLAGS/AFLAGS/LD/
LINKFLAGS.


# 1.2 03-Dec-2000 matt

Add a POST_STRIP_SYSTEM_LD_FLAGS for mipsco and pmax.


# 1.1 03-Dec-2000 matt

Start using a Makefile.mips. Use a combination of makeoptions and
Makefile.sgimips.inc which has sgimips specific stuff.


# 1.72 26-Apr-2021 christos

Produce elf32 images for mipsn64eb too


# 1.71 25-Apr-2021 christos

use ${MACHINE_MIPS64}


Revision tags: thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118
# 1.70 01-Jan-2019 christos

ELF2ECOFF -> MIPS_ELF2ECOFF


Revision tags: pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
# 1.69 22-Sep-2018 rin

- Determine KERN_AS automatically depending on whether OPT_MODULAR is
set or not, in the same way as libcompat.

- Specify OPT_MODULAR in the port Makefile instead of KERN_AS.

Now, KERN_AS=library is used for kernels without module(7) for all ports.

OK christos


Revision tags: pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.68 05-Jun-2018 christos

branches: 1.68.2;
use the compiler way of passing arguments to the linker.


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
# 1.67 22-Feb-2017 maya

branches: 1.67.12;
leave the part for GCC >= 5.3 in.

Was a little over-eager and accidentally removed the else case.


# 1.66 22-Feb-2017 maya

GC workaround for GCC 4.8 fixed in GCC 5+


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
# 1.65 29-Mar-2016 macallan

branches: 1.65.2; 1.65.4;
make sure we compile mips_fpu.c and fp.S with -mhard-float


# 1.64 28-Mar-2016 martin

Restrict float format hacks to gcc 4.8


Revision tags: nick-nhusb-base-20160319
# 1.63 18-Feb-2016 macallan

gcc does not pass floating point options to the assembler
by default, because it is afraid that the stricter tests
will break userland code. The new binutils is pickier about
this. Gcc 5.x fixes the issue so for now, set explicitly
the assembler soft-float flags when we build the kernel.
see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64569


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.62 24-Aug-2015 uebayasi

Define ${LINKSCRIPT} in one place.


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
# 1.61 15-Nov-2014 uebayasi

branches: 1.61.2;
LINKSCRIPT is set only once, so use = not +=.


# 1.60 15-Nov-2014 uebayasi

Use LINKSCRIPT.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base tls-maxphys-base
# 1.59 10-Mar-2013 christos

Explicitly set KERN_AS (this could be done in /usr/src/sys/conf/Makefile.*)
so that modules work, on config files that did not set it explicitly. All
the files now use the standard logic, except the ones that set KERN_AS=obj
and Makefile.usermode which sets KERN_AS=library.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase bouyer-quota2-nbase rmind-uvmplock-base jym-xensuspend-base
# 1.58 20-Feb-2011 matt

branches: 1.58.4; 1.58.14;
Major merge forward from matt-nb5-mips64.
New fixup code.
New common SPL code.
New common interrupt code.
Move related variables into structures.
Cleanup locore (move MD variable into it).
Kill StudlyCaps
Use PCU for FPU


Revision tags: uebayasi-xip-base7 bouyer-quota2-base
# 1.57 01-Feb-2011 matt

Use elf32-ntrad{little,big}mips


# 1.56 21-Jan-2011 joerg

Switch remaining platforms to modern CPP for assembler.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
# 1.55 14-Dec-2009 matt

branches: 1.55.4; 1.55.6; 1.55.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.


Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
# 1.54 15-Feb-2009 cube

Convert the recently introduced awk command to retrieve the value of the
option MODULAR to using %MODULAR%. While it is now possible to only
request the new version in the affected Makefiles, it is made mandatory for
everybody because I just fixed a bug in config(1) that would not make it
fail in the case of a syntax error in the Makefile template.


# 1.53 14-Feb-2009 apb

Now that "options MODULAR" is handled via defflag, the Makefile
generated by config(1) in the kernel compile directory no longer
contains IDENT=-DMODULAR. Instead, there's an opt_modular.h file that
might or might not contain "#define MODULAR 1".

Adapt to this by adding an OPT_MODULAR variable to relevant Makefiles,
set via an awk script that parses opt_modular.h.


Revision tags: haad-dm-base2 haad-nbase2 haad-dm-base mjf-devfs2-base
# 1.52 11-Dec-2008 alc

branches: 1.52.2;
Clean-up makefile stub used to include in the build the binary HAL object


Revision tags: ad-audiomp2-base
# 1.51 13-Nov-2008 ad

LKM -> MODULAR


Revision tags: netbsd-5-0-2-RELEASE netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
# 1.50 18-Feb-2008 tsutsui

branches: 1.50.6; 1.50.10; 1.50.16; 1.50.18; 1.50.20; 1.50.24;
Backout previous. vr_idle.S no longer depends on assym.h.


# 1.49 18-Feb-2008 joerg

Another assym.h dependency for hpcmips


Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
# 1.48 03-Jan-2008 joerg

Missing assym.h dependency.


Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.47 17-Oct-2007 garbled

branches: 1.47.2; 1.47.8;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
# 1.46 25-May-2007 tsutsui

branches: 1.46.10;
Preserve local symbols on linking a kernel so that
we can get more useful trace on ddb(4).


# 1.45 17-May-2007 yamt

merge yamt-idlelwp branch. asked by core@. some ports still needs work.

from doc/BRANCHES:

idle lwp, and some changes depending on it.

1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.44 27-Aug-2006 matt

branches: 1.44.6; 1.44.8; 1.44.12; 1.44.14; 1.44.20; 1.44.22;
Add -msym32 to CFLAGS when MACHINE_ARCH is mips64e[bl].

Since kernels are always run out of KSEG0 (0xffffffff.8xxxxxxx), we can
take advantage of that if we load a 32 bit address (0x8xxxxxxx) that it
will be sign-extended to 64 bits (0xffffffff.8xxxxxxx).

So instead of 6 instructions (2 lui, 2 daddiu, dsll32, daddu) to load an
address, the normal number of 2 instructions (lui, daddiu) will be used.

Thus telling gcc/gas that symbols will always be 32 bits significantly
shrinks (by 10%) and speeds up a MIPS64 kernel.


# 1.43 27-Aug-2006 matt

Sign extend DEFTEXTADDR on MIPS64.


# 1.42 26-Aug-2006 matt

Nuke unneeded LP64 conditional section


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base
# 1.41 04-Apr-2006 gdamore

Add support for using the MIPS Atheros HAL.
Atheros WLAN added to default evbmips DBAU1500, DBAU1550, and MTX-1 configs.
Note that AR5312 config will require unique HAL that we don't have yet.


Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5 yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
# 1.40 11-Nov-2005 simonb

branches: 1.40.6; 1.40.8; 1.40.10; 1.40.12; 1.40.14;
Build libkern as a .o if LKMs are enabled so that all libkern functions
are available to LKMs, not just those needed by the kernel at link time.

From PR port-mips/31857 from Takehiko NOZAKI.


Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
# 1.39 31-May-2005 christos

branches: 1.39.2;
s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.38 01-Oct-2004 sekiya

Set LP64 default to "no".


# 1.37 01-Oct-2004 sekiya

Rework previous slightly, so that ld is passed the right flags for 64-bit mode.


# 1.36 29-Sep-2004 sekiya

Allow arguments to as/ld to be specified in the kernel config file. Provide
a mechanism to override ranlib.


# 1.35 04-Jun-2004 thorpej

Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.34 05-Oct-2003 tsutsui

branches: 1.34.4;
Define ELF2ECOFF here for native build.

(BTW, objcopy with OMAGIC kernel won't work on old pmax and sgimips machines?)


# 1.33 04-Jul-2003 simonb

Add some dependancies on assym.h; helps "make -j N" kernel builds.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.32 09-Dec-2002 simonb

branches: 1.32.6;
Remove the explicit `makeoptions MACHINE_ARCH="mipse{b,l}"' for kernel
builds and use the endianness of the toolchain being used to determine
the endianness of the kernel.


# 1.31 09-Nov-2002 thorpej

Build with kernel with -msoft-float.


# 1.30 09-Nov-2002 thorpej

* Add -mno-abicalls to AFLAGS.
* GCC 3.3's traditional preprocessor functions properly now, so we
no longer need to special-case it.


# 1.29 09-Nov-2002 thorpej

Nuke the CROSSDIR stuff.


# 1.28 09-Nov-2002 thorpej

No need to pass -mno-half-pic; NetBSD's compiler does not generate
half-pic references.


Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
# 1.27 04-Jun-2002 thorpej

Don't use -traditional-cpp if HAVE_GCC3.


Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base
# 1.26 05-Mar-2002 simonb

branches: 1.26.6; 1.26.8;
Don't explicitly depend locore_*.S and fp.S on assym.h - this is done
for all .S files in /sys/conf/Makefile.kern.inc.


Revision tags: ifpoll-base
# 1.25 09-Dec-2001 atatat

Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.


Revision tags: thorpej-mips-cache-base
# 1.24 26-Oct-2001 shin

branches: 1.24.2;
remove " in assignment of ENDIAN.
fixes mipseb link breakage.


# 1.23 26-Oct-2001 jmc

Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.


# 1.22 23-Oct-2001 thorpej

branches: 1.22.2;
For MIPS kernel Makefiles, don't set ENDIAN in std.${MACHINE}. Instead,
explicitly set MACHINE_ARCH to the appropriate thing. Makefile.mips will
then set all of the internal variables it needs to accordingly.


# 1.21 23-Oct-2001 thorpej

Use MACHINE, not TARGET_MACHINE.


# 1.20 16-Oct-2001 uch

R5900 support.
COP0_SYNC
In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p.
if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing.
IPL_ICU_MASK
mask interrupt directly ICU instead of SR.IM.
I've added this feature to support software interrupt for R5900.
and this option may be useful for platform which has cascaded ICU.


Revision tags: thorpej-devvp-base3
# 1.19 08-Oct-2001 simonb

Use a separate variable (${KERNLDSCRIPT}) for the name of the kernel
ld script, so it can be used in other places.


# 1.18 05-Oct-2001 simonb

Use ".-include" instead of the ".if exists(...) ..." dance.


# 1.17 05-Oct-2001 simonb

Use a single ldscript instead of separate scripts for either endianness;
use command line parameters to ld(1) instead to set the endian format.
Clean up some endian decisions in mips/conf/Makefile.mips.
Wrap some long lines.


Revision tags: thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.16 19-Jul-2001 oster

branches: 1.16.2;
By adding a well-placed space or two, 'make depend' no longer loses
due to a directory name like 'arc.current' messing up a sed substitution.


# 1.15 15-Jul-2001 takemura

Suppress warning message:
warning: duplicate script for target "fp.o" ignored
And delete verbose ifs.


# 1.14 29-May-2001 mrg

branches: 1.14.2;
define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.


# 1.13 23-May-2001 hubertf

Allow overriding the 'install' target.

(I have a nice 'install' target for cobalts here, but that only works there.
I guess I'll put that into htdocs now that the cobalt port uses Makefile.mips)


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.12 28-Mar-2001 tsutsui

Define ${OBJCOPY}.

XXX: Should we use ${CROSSDIR} here or not?


# 1.11 04-Jan-2001 shin

branches: 1.11.2;
- don't ignore DEFCOPTS (Makefile.mips).
- DEFCOPTS of hpcmips is "-Os -mmemcpy" (std.hpcmips).


# 1.10 17-Dec-2000 jdolecek

delete obsolete comment


# 1.9 09-Dec-2000 matt

cpp/lorder/mkdep don't have cross specific versions.


# 1.8 03-Dec-2000 matt

branches: 1.8.2;
Add DEFGP/CROSSDIR for hpcmips.


# 1.7 03-Dec-2000 matt

Remove redundant depend of fp.S


# 1.6 03-Dec-2000 matt

Include FP support if NOFPU is *NOT* defined.


# 1.5 03-Dec-2000 matt

Revert back to a machinearch (really cputype) of mips. Put ENDIAN back.


# 1.4 03-Dec-2000 matt

Deal with lack of floating point on hpcmips, etc.


# 1.3 03-Dec-2000 matt

Change arch from mips to mipsel/mipseb as appropriate. Nuke the ENDIAN
makeoption. Key off MACHINE_ARCH for adding -EB/-EL to CFLAGS/AFLAGS/LD/
LINKFLAGS.


# 1.2 03-Dec-2000 matt

Add a POST_STRIP_SYSTEM_LD_FLAGS for mipsco and pmax.


# 1.1 03-Dec-2000 matt

Start using a Makefile.mips. Use a combination of makeoptions and
Makefile.sgimips.inc which has sgimips specific stuff.


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118
# 1.70 01-Jan-2019 christos

ELF2ECOFF -> MIPS_ELF2ECOFF


Revision tags: pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930
# 1.69 22-Sep-2018 rin

- Determine KERN_AS automatically depending on whether OPT_MODULAR is
set or not, in the same way as libcompat.

- Specify OPT_MODULAR in the port Makefile instead of KERN_AS.

Now, KERN_AS=library is used for kernels without module(7) for all ports.

OK christos


Revision tags: pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.68 05-Jun-2018 christos

use the compiler way of passing arguments to the linker.


Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
# 1.67 22-Feb-2017 maya

branches: 1.67.12;
leave the part for GCC >= 5.3 in.

Was a little over-eager and accidentally removed the else case.


# 1.66 22-Feb-2017 maya

GC workaround for GCC 4.8 fixed in GCC 5+


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
# 1.65 29-Mar-2016 macallan

branches: 1.65.2; 1.65.4;
make sure we compile mips_fpu.c and fp.S with -mhard-float


# 1.64 28-Mar-2016 martin

Restrict float format hacks to gcc 4.8


Revision tags: nick-nhusb-base-20160319
# 1.63 18-Feb-2016 macallan

gcc does not pass floating point options to the assembler
by default, because it is afraid that the stricter tests
will break userland code. The new binutils is pickier about
this. Gcc 5.x fixes the issue so for now, set explicitly
the assembler soft-float flags when we build the kernel.
see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64569


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.62 24-Aug-2015 uebayasi

Define ${LINKSCRIPT} in one place.


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
# 1.61 15-Nov-2014 uebayasi

branches: 1.61.2;
LINKSCRIPT is set only once, so use = not +=.


# 1.60 15-Nov-2014 uebayasi

Use LINKSCRIPT.


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base tls-maxphys-base
# 1.59 10-Mar-2013 christos

Explicitly set KERN_AS (this could be done in /usr/src/sys/conf/Makefile.*)
so that modules work, on config files that did not set it explicitly. All
the files now use the standard logic, except the ones that set KERN_AS=obj
and Makefile.usermode which sets KERN_AS=library.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase bouyer-quota2-nbase rmind-uvmplock-base jym-xensuspend-base
# 1.58 20-Feb-2011 matt

branches: 1.58.4; 1.58.14;
Major merge forward from matt-nb5-mips64.
New fixup code.
New common SPL code.
New common interrupt code.
Move related variables into structures.
Cleanup locore (move MD variable into it).
Kill StudlyCaps
Use PCU for FPU


Revision tags: uebayasi-xip-base7 bouyer-quota2-base
# 1.57 01-Feb-2011 matt

Use elf32-ntrad{little,big}mips


# 1.56 21-Jan-2011 joerg

Switch remaining platforms to modern CPP for assembler.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
# 1.55 14-Dec-2009 matt

branches: 1.55.4; 1.55.6; 1.55.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.


Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
# 1.54 15-Feb-2009 cube

Convert the recently introduced awk command to retrieve the value of the
option MODULAR to using %MODULAR%. While it is now possible to only
request the new version in the affected Makefiles, it is made mandatory for
everybody because I just fixed a bug in config(1) that would not make it
fail in the case of a syntax error in the Makefile template.


# 1.53 14-Feb-2009 apb

Now that "options MODULAR" is handled via defflag, the Makefile
generated by config(1) in the kernel compile directory no longer
contains IDENT=-DMODULAR. Instead, there's an opt_modular.h file that
might or might not contain "#define MODULAR 1".

Adapt to this by adding an OPT_MODULAR variable to relevant Makefiles,
set via an awk script that parses opt_modular.h.


Revision tags: haad-dm-base2 haad-nbase2 haad-dm-base mjf-devfs2-base
# 1.52 11-Dec-2008 alc

branches: 1.52.2;
Clean-up makefile stub used to include in the build the binary HAL object


Revision tags: ad-audiomp2-base
# 1.51 13-Nov-2008 ad

LKM -> MODULAR


Revision tags: netbsd-5-0-2-RELEASE netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
# 1.50 18-Feb-2008 tsutsui

branches: 1.50.6; 1.50.10; 1.50.16; 1.50.18; 1.50.20; 1.50.24;
Backout previous. vr_idle.S no longer depends on assym.h.


# 1.49 18-Feb-2008 joerg

Another assym.h dependency for hpcmips


Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
# 1.48 03-Jan-2008 joerg

Missing assym.h dependency.


Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.47 17-Oct-2007 garbled

branches: 1.47.2; 1.47.8;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
# 1.46 25-May-2007 tsutsui

branches: 1.46.10;
Preserve local symbols on linking a kernel so that
we can get more useful trace on ddb(4).


# 1.45 17-May-2007 yamt

merge yamt-idlelwp branch. asked by core@. some ports still needs work.

from doc/BRANCHES:

idle lwp, and some changes depending on it.

1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.44 27-Aug-2006 matt

branches: 1.44.6; 1.44.8; 1.44.12; 1.44.14; 1.44.20; 1.44.22;
Add -msym32 to CFLAGS when MACHINE_ARCH is mips64e[bl].

Since kernels are always run out of KSEG0 (0xffffffff.8xxxxxxx), we can
take advantage of that if we load a 32 bit address (0x8xxxxxxx) that it
will be sign-extended to 64 bits (0xffffffff.8xxxxxxx).

So instead of 6 instructions (2 lui, 2 daddiu, dsll32, daddu) to load an
address, the normal number of 2 instructions (lui, daddiu) will be used.

Thus telling gcc/gas that symbols will always be 32 bits significantly
shrinks (by 10%) and speeds up a MIPS64 kernel.


# 1.43 27-Aug-2006 matt

Sign extend DEFTEXTADDR on MIPS64.


# 1.42 26-Aug-2006 matt

Nuke unneeded LP64 conditional section


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base
# 1.41 04-Apr-2006 gdamore

Add support for using the MIPS Atheros HAL.
Atheros WLAN added to default evbmips DBAU1500, DBAU1550, and MTX-1 configs.
Note that AR5312 config will require unique HAL that we don't have yet.


Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5 yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
# 1.40 11-Nov-2005 simonb

branches: 1.40.6; 1.40.8; 1.40.10; 1.40.12; 1.40.14;
Build libkern as a .o if LKMs are enabled so that all libkern functions
are available to LKMs, not just those needed by the kernel at link time.

From PR port-mips/31857 from Takehiko NOZAKI.


Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
# 1.39 31-May-2005 christos

branches: 1.39.2;
s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.38 01-Oct-2004 sekiya

Set LP64 default to "no".


# 1.37 01-Oct-2004 sekiya

Rework previous slightly, so that ld is passed the right flags for 64-bit mode.


# 1.36 29-Sep-2004 sekiya

Allow arguments to as/ld to be specified in the kernel config file. Provide
a mechanism to override ranlib.


# 1.35 04-Jun-2004 thorpej

Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.34 05-Oct-2003 tsutsui

branches: 1.34.4;
Define ELF2ECOFF here for native build.

(BTW, objcopy with OMAGIC kernel won't work on old pmax and sgimips machines?)


# 1.33 04-Jul-2003 simonb

Add some dependancies on assym.h; helps "make -j N" kernel builds.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.32 09-Dec-2002 simonb

branches: 1.32.6;
Remove the explicit `makeoptions MACHINE_ARCH="mipse{b,l}"' for kernel
builds and use the endianness of the toolchain being used to determine
the endianness of the kernel.


# 1.31 09-Nov-2002 thorpej

Build with kernel with -msoft-float.


# 1.30 09-Nov-2002 thorpej

* Add -mno-abicalls to AFLAGS.
* GCC 3.3's traditional preprocessor functions properly now, so we
no longer need to special-case it.


# 1.29 09-Nov-2002 thorpej

Nuke the CROSSDIR stuff.


# 1.28 09-Nov-2002 thorpej

No need to pass -mno-half-pic; NetBSD's compiler does not generate
half-pic references.


Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
# 1.27 04-Jun-2002 thorpej

Don't use -traditional-cpp if HAVE_GCC3.


Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base
# 1.26 05-Mar-2002 simonb

branches: 1.26.6; 1.26.8;
Don't explicitly depend locore_*.S and fp.S on assym.h - this is done
for all .S files in /sys/conf/Makefile.kern.inc.


Revision tags: ifpoll-base
# 1.25 09-Dec-2001 atatat

Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.


Revision tags: thorpej-mips-cache-base
# 1.24 26-Oct-2001 shin

branches: 1.24.2;
remove " in assignment of ENDIAN.
fixes mipseb link breakage.


# 1.23 26-Oct-2001 jmc

Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.


# 1.22 23-Oct-2001 thorpej

branches: 1.22.2;
For MIPS kernel Makefiles, don't set ENDIAN in std.${MACHINE}. Instead,
explicitly set MACHINE_ARCH to the appropriate thing. Makefile.mips will
then set all of the internal variables it needs to accordingly.


# 1.21 23-Oct-2001 thorpej

Use MACHINE, not TARGET_MACHINE.


# 1.20 16-Oct-2001 uch

R5900 support.
COP0_SYNC
In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p.
if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing.
IPL_ICU_MASK
mask interrupt directly ICU instead of SR.IM.
I've added this feature to support software interrupt for R5900.
and this option may be useful for platform which has cascaded ICU.


Revision tags: thorpej-devvp-base3
# 1.19 08-Oct-2001 simonb

Use a separate variable (${KERNLDSCRIPT}) for the name of the kernel
ld script, so it can be used in other places.


# 1.18 05-Oct-2001 simonb

Use ".-include" instead of the ".if exists(...) ..." dance.


# 1.17 05-Oct-2001 simonb

Use a single ldscript instead of separate scripts for either endianness;
use command line parameters to ld(1) instead to set the endian format.
Clean up some endian decisions in mips/conf/Makefile.mips.
Wrap some long lines.


Revision tags: thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.16 19-Jul-2001 oster

branches: 1.16.2;
By adding a well-placed space or two, 'make depend' no longer loses
due to a directory name like 'arc.current' messing up a sed substitution.


# 1.15 15-Jul-2001 takemura

Suppress warning message:
warning: duplicate script for target "fp.o" ignored
And delete verbose ifs.


# 1.14 29-May-2001 mrg

branches: 1.14.2;
define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.


# 1.13 23-May-2001 hubertf

Allow overriding the 'install' target.

(I have a nice 'install' target for cobalts here, but that only works there.
I guess I'll put that into htdocs now that the cobalt port uses Makefile.mips)


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.12 28-Mar-2001 tsutsui

Define ${OBJCOPY}.

XXX: Should we use ${CROSSDIR} here or not?


# 1.11 04-Jan-2001 shin

branches: 1.11.2;
- don't ignore DEFCOPTS (Makefile.mips).
- DEFCOPTS of hpcmips is "-Os -mmemcpy" (std.hpcmips).


# 1.10 17-Dec-2000 jdolecek

delete obsolete comment


# 1.9 09-Dec-2000 matt

cpp/lorder/mkdep don't have cross specific versions.


# 1.8 03-Dec-2000 matt

branches: 1.8.2;
Add DEFGP/CROSSDIR for hpcmips.


# 1.7 03-Dec-2000 matt

Remove redundant depend of fp.S


# 1.6 03-Dec-2000 matt

Include FP support if NOFPU is *NOT* defined.


# 1.5 03-Dec-2000 matt

Revert back to a machinearch (really cputype) of mips. Put ENDIAN back.


# 1.4 03-Dec-2000 matt

Deal with lack of floating point on hpcmips, etc.


# 1.3 03-Dec-2000 matt

Change arch from mips to mipsel/mipseb as appropriate. Nuke the ENDIAN
makeoption. Key off MACHINE_ARCH for adding -EB/-EL to CFLAGS/AFLAGS/LD/
LINKFLAGS.


# 1.2 03-Dec-2000 matt

Add a POST_STRIP_SYSTEM_LD_FLAGS for mipsco and pmax.


# 1.1 03-Dec-2000 matt

Start using a Makefile.mips. Use a combination of makeoptions and
Makefile.sgimips.inc which has sgimips specific stuff.


# 1.67 22-Feb-2017 maya

leave the part for GCC >= 5.3 in.

Was a little over-eager and accidentally removed the else case.


# 1.66 22-Feb-2017 maya

GC workaround for GCC 4.8 fixed in GCC 5+


Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
# 1.65 29-Mar-2016 macallan

make sure we compile mips_fpu.c and fp.S with -mhard-float


# 1.64 28-Mar-2016 martin

Restrict float format hacks to gcc 4.8


Revision tags: nick-nhusb-base-20160319
# 1.63 18-Feb-2016 macallan

gcc does not pass floating point options to the assembler
by default, because it is afraid that the stricter tests
will break userland code. The new binutils is pickier about
this. Gcc 5.x fixes the issue so for now, set explicitly
the assembler soft-float flags when we build the kernel.
see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64569


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.62 24-Aug-2015 uebayasi

Define ${LINKSCRIPT} in one place.


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
# 1.61 15-Nov-2014 uebayasi

branches: 1.61.2;
LINKSCRIPT is set only once, so use = not +=.


# 1.60 15-Nov-2014 uebayasi

Use LINKSCRIPT.


Revision tags: netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base tls-maxphys-base
# 1.59 10-Mar-2013 christos

Explicitly set KERN_AS (this could be done in /usr/src/sys/conf/Makefile.*)
so that modules work, on config files that did not set it explicitly. All
the files now use the standard logic, except the ones that set KERN_AS=obj
and Makefile.usermode which sets KERN_AS=library.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase bouyer-quota2-nbase rmind-uvmplock-base jym-xensuspend-base
# 1.58 20-Feb-2011 matt

branches: 1.58.4; 1.58.14;
Major merge forward from matt-nb5-mips64.
New fixup code.
New common SPL code.
New common interrupt code.
Move related variables into structures.
Cleanup locore (move MD variable into it).
Kill StudlyCaps
Use PCU for FPU


Revision tags: uebayasi-xip-base7 bouyer-quota2-base
# 1.57 01-Feb-2011 matt

Use elf32-ntrad{little,big}mips


# 1.56 21-Jan-2011 joerg

Switch remaining platforms to modern CPP for assembler.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
# 1.55 14-Dec-2009 matt

branches: 1.55.4; 1.55.6; 1.55.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.


Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
# 1.54 15-Feb-2009 cube

Convert the recently introduced awk command to retrieve the value of the
option MODULAR to using %MODULAR%. While it is now possible to only
request the new version in the affected Makefiles, it is made mandatory for
everybody because I just fixed a bug in config(1) that would not make it
fail in the case of a syntax error in the Makefile template.


# 1.53 14-Feb-2009 apb

Now that "options MODULAR" is handled via defflag, the Makefile
generated by config(1) in the kernel compile directory no longer
contains IDENT=-DMODULAR. Instead, there's an opt_modular.h file that
might or might not contain "#define MODULAR 1".

Adapt to this by adding an OPT_MODULAR variable to relevant Makefiles,
set via an awk script that parses opt_modular.h.


Revision tags: haad-dm-base2 haad-nbase2 haad-dm-base mjf-devfs2-base
# 1.52 11-Dec-2008 alc

branches: 1.52.2;
Clean-up makefile stub used to include in the build the binary HAL object


Revision tags: ad-audiomp2-base
# 1.51 13-Nov-2008 ad

LKM -> MODULAR


Revision tags: netbsd-5-0-2-RELEASE netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
# 1.50 18-Feb-2008 tsutsui

branches: 1.50.6; 1.50.10; 1.50.16; 1.50.18; 1.50.20; 1.50.24;
Backout previous. vr_idle.S no longer depends on assym.h.


# 1.49 18-Feb-2008 joerg

Another assym.h dependency for hpcmips


Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
# 1.48 03-Jan-2008 joerg

Missing assym.h dependency.


Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.47 17-Oct-2007 garbled

branches: 1.47.2; 1.47.8;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
# 1.46 25-May-2007 tsutsui

branches: 1.46.10;
Preserve local symbols on linking a kernel so that
we can get more useful trace on ddb(4).


# 1.45 17-May-2007 yamt

merge yamt-idlelwp branch. asked by core@. some ports still needs work.

from doc/BRANCHES:

idle lwp, and some changes depending on it.

1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.44 27-Aug-2006 matt

branches: 1.44.6; 1.44.8; 1.44.12; 1.44.14; 1.44.20; 1.44.22;
Add -msym32 to CFLAGS when MACHINE_ARCH is mips64e[bl].

Since kernels are always run out of KSEG0 (0xffffffff.8xxxxxxx), we can
take advantage of that if we load a 32 bit address (0x8xxxxxxx) that it
will be sign-extended to 64 bits (0xffffffff.8xxxxxxx).

So instead of 6 instructions (2 lui, 2 daddiu, dsll32, daddu) to load an
address, the normal number of 2 instructions (lui, daddiu) will be used.

Thus telling gcc/gas that symbols will always be 32 bits significantly
shrinks (by 10%) and speeds up a MIPS64 kernel.


# 1.43 27-Aug-2006 matt

Sign extend DEFTEXTADDR on MIPS64.


# 1.42 26-Aug-2006 matt

Nuke unneeded LP64 conditional section


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base
# 1.41 04-Apr-2006 gdamore

Add support for using the MIPS Atheros HAL.
Atheros WLAN added to default evbmips DBAU1500, DBAU1550, and MTX-1 configs.
Note that AR5312 config will require unique HAL that we don't have yet.


Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5 yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
# 1.40 11-Nov-2005 simonb

branches: 1.40.6; 1.40.8; 1.40.10; 1.40.12; 1.40.14;
Build libkern as a .o if LKMs are enabled so that all libkern functions
are available to LKMs, not just those needed by the kernel at link time.

From PR port-mips/31857 from Takehiko NOZAKI.


Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
# 1.39 31-May-2005 christos

branches: 1.39.2;
s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.38 01-Oct-2004 sekiya

Set LP64 default to "no".


# 1.37 01-Oct-2004 sekiya

Rework previous slightly, so that ld is passed the right flags for 64-bit mode.


# 1.36 29-Sep-2004 sekiya

Allow arguments to as/ld to be specified in the kernel config file. Provide
a mechanism to override ranlib.


# 1.35 04-Jun-2004 thorpej

Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.34 05-Oct-2003 tsutsui

branches: 1.34.4;
Define ELF2ECOFF here for native build.

(BTW, objcopy with OMAGIC kernel won't work on old pmax and sgimips machines?)


# 1.33 04-Jul-2003 simonb

Add some dependancies on assym.h; helps "make -j N" kernel builds.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.32 09-Dec-2002 simonb

branches: 1.32.6;
Remove the explicit `makeoptions MACHINE_ARCH="mipse{b,l}"' for kernel
builds and use the endianness of the toolchain being used to determine
the endianness of the kernel.


# 1.31 09-Nov-2002 thorpej

Build with kernel with -msoft-float.


# 1.30 09-Nov-2002 thorpej

* Add -mno-abicalls to AFLAGS.
* GCC 3.3's traditional preprocessor functions properly now, so we
no longer need to special-case it.


# 1.29 09-Nov-2002 thorpej

Nuke the CROSSDIR stuff.


# 1.28 09-Nov-2002 thorpej

No need to pass -mno-half-pic; NetBSD's compiler does not generate
half-pic references.


Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
# 1.27 04-Jun-2002 thorpej

Don't use -traditional-cpp if HAVE_GCC3.


Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base
# 1.26 05-Mar-2002 simonb

branches: 1.26.6; 1.26.8;
Don't explicitly depend locore_*.S and fp.S on assym.h - this is done
for all .S files in /sys/conf/Makefile.kern.inc.


Revision tags: ifpoll-base
# 1.25 09-Dec-2001 atatat

Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.


Revision tags: thorpej-mips-cache-base
# 1.24 26-Oct-2001 shin

branches: 1.24.2;
remove " in assignment of ENDIAN.
fixes mipseb link breakage.


# 1.23 26-Oct-2001 jmc

Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.


# 1.22 23-Oct-2001 thorpej

branches: 1.22.2;
For MIPS kernel Makefiles, don't set ENDIAN in std.${MACHINE}. Instead,
explicitly set MACHINE_ARCH to the appropriate thing. Makefile.mips will
then set all of the internal variables it needs to accordingly.


# 1.21 23-Oct-2001 thorpej

Use MACHINE, not TARGET_MACHINE.


# 1.20 16-Oct-2001 uch

R5900 support.
COP0_SYNC
In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p.
if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing.
IPL_ICU_MASK
mask interrupt directly ICU instead of SR.IM.
I've added this feature to support software interrupt for R5900.
and this option may be useful for platform which has cascaded ICU.


Revision tags: thorpej-devvp-base3
# 1.19 08-Oct-2001 simonb

Use a separate variable (${KERNLDSCRIPT}) for the name of the kernel
ld script, so it can be used in other places.


# 1.18 05-Oct-2001 simonb

Use ".-include" instead of the ".if exists(...) ..." dance.


# 1.17 05-Oct-2001 simonb

Use a single ldscript instead of separate scripts for either endianness;
use command line parameters to ld(1) instead to set the endian format.
Clean up some endian decisions in mips/conf/Makefile.mips.
Wrap some long lines.


Revision tags: thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.16 19-Jul-2001 oster

branches: 1.16.2;
By adding a well-placed space or two, 'make depend' no longer loses
due to a directory name like 'arc.current' messing up a sed substitution.


# 1.15 15-Jul-2001 takemura

Suppress warning message:
warning: duplicate script for target "fp.o" ignored
And delete verbose ifs.


# 1.14 29-May-2001 mrg

branches: 1.14.2;
define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.


# 1.13 23-May-2001 hubertf

Allow overriding the 'install' target.

(I have a nice 'install' target for cobalts here, but that only works there.
I guess I'll put that into htdocs now that the cobalt port uses Makefile.mips)


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.12 28-Mar-2001 tsutsui

Define ${OBJCOPY}.

XXX: Should we use ${CROSSDIR} here or not?


# 1.11 04-Jan-2001 shin

branches: 1.11.2;
- don't ignore DEFCOPTS (Makefile.mips).
- DEFCOPTS of hpcmips is "-Os -mmemcpy" (std.hpcmips).


# 1.10 17-Dec-2000 jdolecek

delete obsolete comment


# 1.9 09-Dec-2000 matt

cpp/lorder/mkdep don't have cross specific versions.


# 1.8 03-Dec-2000 matt

branches: 1.8.2;
Add DEFGP/CROSSDIR for hpcmips.


# 1.7 03-Dec-2000 matt

Remove redundant depend of fp.S


# 1.6 03-Dec-2000 matt

Include FP support if NOFPU is *NOT* defined.


# 1.5 03-Dec-2000 matt

Revert back to a machinearch (really cputype) of mips. Put ENDIAN back.


# 1.4 03-Dec-2000 matt

Deal with lack of floating point on hpcmips, etc.


# 1.3 03-Dec-2000 matt

Change arch from mips to mipsel/mipseb as appropriate. Nuke the ENDIAN
makeoption. Key off MACHINE_ARCH for adding -EB/-EL to CFLAGS/AFLAGS/LD/
LINKFLAGS.


# 1.2 03-Dec-2000 matt

Add a POST_STRIP_SYSTEM_LD_FLAGS for mipsco and pmax.


# 1.1 03-Dec-2000 matt

Start using a Makefile.mips. Use a combination of makeoptions and
Makefile.sgimips.inc which has sgimips specific stuff.


Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422
# 1.65 29-Mar-2016 macallan

make sure we compile mips_fpu.c and fp.S with -mhard-float


# 1.64 28-Mar-2016 martin

Restrict float format hacks to gcc 4.8


Revision tags: nick-nhusb-base-20160319
# 1.63 18-Feb-2016 macallan

gcc does not pass floating point options to the assembler
by default, because it is afraid that the stricter tests
will break userland code. The new binutils is pickier about
this. Gcc 5.x fixes the issue so for now, set explicitly
the assembler soft-float flags when we build the kernel.
see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64569


Revision tags: nick-nhusb-base-20151226 nick-nhusb-base-20150921
# 1.62 24-Aug-2015 uebayasi

Define ${LINKSCRIPT} in one place.


Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base
# 1.61 15-Nov-2014 uebayasi

branches: 1.61.2;
LINKSCRIPT is set only once, so use = not +=.


# 1.60 15-Nov-2014 uebayasi

Use LINKSCRIPT.


Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base tls-maxphys-base
# 1.59 10-Mar-2013 christos

Explicitly set KERN_AS (this could be done in /usr/src/sys/conf/Makefile.*)
so that modules work, on config files that did not set it explicitly. All
the files now use the standard logic, except the ones that set KERN_AS=obj
and Makefile.usermode which sets KERN_AS=library.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase bouyer-quota2-nbase rmind-uvmplock-base jym-xensuspend-base
# 1.58 20-Feb-2011 matt

branches: 1.58.4; 1.58.14;
Major merge forward from matt-nb5-mips64.
New fixup code.
New common SPL code.
New common interrupt code.
Move related variables into structures.
Cleanup locore (move MD variable into it).
Kill StudlyCaps
Use PCU for FPU


Revision tags: uebayasi-xip-base7 bouyer-quota2-base
# 1.57 01-Feb-2011 matt

Use elf32-ntrad{little,big}mips


# 1.56 21-Jan-2011 joerg

Switch remaining platforms to modern CPP for assembler.


Revision tags: jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base
# 1.55 14-Dec-2009 matt

branches: 1.55.4; 1.55.6; 1.55.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.


Revision tags: matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 nick-hppapmap-base
# 1.54 15-Feb-2009 cube

Convert the recently introduced awk command to retrieve the value of the
option MODULAR to using %MODULAR%. While it is now possible to only
request the new version in the affected Makefiles, it is made mandatory for
everybody because I just fixed a bug in config(1) that would not make it
fail in the case of a syntax error in the Makefile template.


# 1.53 14-Feb-2009 apb

Now that "options MODULAR" is handled via defflag, the Makefile
generated by config(1) in the kernel compile directory no longer
contains IDENT=-DMODULAR. Instead, there's an opt_modular.h file that
might or might not contain "#define MODULAR 1".

Adapt to this by adding an OPT_MODULAR variable to relevant Makefiles,
set via an awk script that parses opt_modular.h.


Revision tags: haad-dm-base2 haad-nbase2 haad-dm-base mjf-devfs2-base
# 1.52 11-Dec-2008 alc

branches: 1.52.2;
Clean-up makefile stub used to include in the build the binary HAL object


Revision tags: ad-audiomp2-base
# 1.51 13-Nov-2008 ad

LKM -> MODULAR


Revision tags: netbsd-5-0-2-RELEASE netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base matt-armv6-nbase mjf-devfs-base hpcarm-cleanup-base
# 1.50 18-Feb-2008 tsutsui

branches: 1.50.6; 1.50.10; 1.50.16; 1.50.18; 1.50.20; 1.50.24;
Backout previous. vr_idle.S no longer depends on assym.h.


# 1.49 18-Feb-2008 joerg

Another assym.h dependency for hpcmips


Revision tags: bouyer-xeni386-nbase bouyer-xeni386-base matt-armv6-base
# 1.48 03-Jan-2008 joerg

Missing assym.h dependency.


Revision tags: vmlocking2-base3 yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 jmcneill-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base jmcneill-pm-base reinoud-bufcleanup-base
# 1.47 17-Oct-2007 garbled

branches: 1.47.2; 1.47.8;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.


Revision tags: nick-csl-alignment-base5 yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base nick-csl-alignment-base matt-mips64-base ppcoea-renovation-base mjf-ufs-trans-base vmlocking-base
# 1.46 25-May-2007 tsutsui

branches: 1.46.10;
Preserve local symbols on linking a kernel so that
we can get more useful trace on ddb(4).


# 1.45 17-May-2007 yamt

merge yamt-idlelwp branch. asked by core@. some ports still needs work.

from doc/BRANCHES:

idle lwp, and some changes depending on it.

1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.


Revision tags: yamt-idlelwp-base8 thorpej-atomic-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 yamt-splraiseipl-base yamt-pdpolicy-base9 newlock2-base yamt-pdpolicy-base8 netbsd-4-base rpaulo-netinet-merge-pcb-base
# 1.44 27-Aug-2006 matt

branches: 1.44.6; 1.44.8; 1.44.12; 1.44.14; 1.44.20; 1.44.22;
Add -msym32 to CFLAGS when MACHINE_ARCH is mips64e[bl].

Since kernels are always run out of KSEG0 (0xffffffff.8xxxxxxx), we can
take advantage of that if we load a 32 bit address (0x8xxxxxxx) that it
will be sign-extended to 64 bits (0xffffffff.8xxxxxxx).

So instead of 6 instructions (2 lui, 2 daddiu, dsll32, daddu) to load an
address, the normal number of 2 instructions (lui, daddiu) will be used.

Thus telling gcc/gas that symbols will always be 32 bits significantly
shrinks (by 10%) and speeds up a MIPS64 kernel.


# 1.43 27-Aug-2006 matt

Sign extend DEFTEXTADDR on MIPS64.


# 1.42 26-Aug-2006 matt

Nuke unneeded LP64 conditional section


Revision tags: abandoned-netbsd-4-base yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base
# 1.41 04-Apr-2006 gdamore

Add support for using the MIPS Atheros HAL.
Atheros WLAN added to default evbmips DBAU1500, DBAU1550, and MTX-1 configs.
Note that AR5312 config will require unique HAL that we don't have yet.


Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5 yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base ktrace-lwp-base
# 1.40 11-Nov-2005 simonb

branches: 1.40.6; 1.40.8; 1.40.10; 1.40.12; 1.40.14;
Build libkern as a .o if LKMs are enabled so that all libkern functions
are available to LKMs, not just those needed by the kernel at link time.

From PR port-mips/31857 from Takehiko NOZAKI.


Revision tags: yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base
# 1.39 31-May-2005 christos

branches: 1.39.2;
s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name.


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 yamt-km-base4 yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base kent-audio1-beforemerge kent-audio1-base
# 1.38 01-Oct-2004 sekiya

Set LP64 default to "no".


# 1.37 01-Oct-2004 sekiya

Rework previous slightly, so that ld is passed the right flags for 64-bit mode.


# 1.36 29-Sep-2004 sekiya

Allow arguments to as/ld to be specified in the kernel config file. Provide
a mechanism to override ranlib.


# 1.35 04-Jun-2004 thorpej

Add the %MAKEOPTIONSAPPEND token at the end of the file, after the
common Makefile.kern.inc has been included.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.34 05-Oct-2003 tsutsui

branches: 1.34.4;
Define ELF2ECOFF here for native build.

(BTW, objcopy with OMAGIC kernel won't work on old pmax and sgimips machines?)


# 1.33 04-Jul-2003 simonb

Add some dependancies on assym.h; helps "make -j N" kernel builds.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base
# 1.32 09-Dec-2002 simonb

branches: 1.32.6;
Remove the explicit `makeoptions MACHINE_ARCH="mipse{b,l}"' for kernel
builds and use the endianness of the toolchain being used to determine
the endianness of the kernel.


# 1.31 09-Nov-2002 thorpej

Build with kernel with -msoft-float.


# 1.30 09-Nov-2002 thorpej

* Add -mno-abicalls to AFLAGS.
* GCC 3.3's traditional preprocessor functions properly now, so we
no longer need to special-case it.


# 1.29 09-Nov-2002 thorpej

Nuke the CROSSDIR stuff.


# 1.28 09-Nov-2002 thorpej

No need to pass -mno-half-pic; NetBSD's compiler does not generate
half-pic references.


Revision tags: kqueue-aftermerge kqueue-beforemerge gehenna-devsw-base kqueue-base
# 1.27 04-Jun-2002 thorpej

Don't use -traditional-cpp if HAVE_GCC3.


Revision tags: netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base eeh-devprop-base newlock-base
# 1.26 05-Mar-2002 simonb

branches: 1.26.6; 1.26.8;
Don't explicitly depend locore_*.S and fp.S on assym.h - this is done
for all .S files in /sys/conf/Makefile.kern.inc.


Revision tags: ifpoll-base
# 1.25 09-Dec-2001 atatat

Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.


Revision tags: thorpej-mips-cache-base
# 1.24 26-Oct-2001 shin

branches: 1.24.2;
remove " in assignment of ENDIAN.
fixes mipseb link breakage.


# 1.23 26-Oct-2001 jmc

Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.


# 1.22 23-Oct-2001 thorpej

branches: 1.22.2;
For MIPS kernel Makefiles, don't set ENDIAN in std.${MACHINE}. Instead,
explicitly set MACHINE_ARCH to the appropriate thing. Makefile.mips will
then set all of the internal variables it needs to accordingly.


# 1.21 23-Oct-2001 thorpej

Use MACHINE, not TARGET_MACHINE.


# 1.20 16-Oct-2001 uch

R5900 support.
COP0_SYNC
In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p.
if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing.
IPL_ICU_MASK
mask interrupt directly ICU instead of SR.IM.
I've added this feature to support software interrupt for R5900.
and this option may be useful for platform which has cascaded ICU.


Revision tags: thorpej-devvp-base3
# 1.19 08-Oct-2001 simonb

Use a separate variable (${KERNLDSCRIPT}) for the name of the kernel
ld script, so it can be used in other places.


# 1.18 05-Oct-2001 simonb

Use ".-include" instead of the ".if exists(...) ..." dance.


# 1.17 05-Oct-2001 simonb

Use a single ldscript instead of separate scripts for either endianness;
use command line parameters to ld(1) instead to set the endian format.
Clean up some endian decisions in mips/conf/Makefile.mips.
Wrap some long lines.


Revision tags: thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf thorpej-devvp-base
# 1.16 19-Jul-2001 oster

branches: 1.16.2;
By adding a well-placed space or two, 'make depend' no longer loses
due to a directory name like 'arc.current' messing up a sed substitution.


# 1.15 15-Jul-2001 takemura

Suppress warning message:
warning: duplicate script for target "fp.o" ignored
And delete verbose ifs.


# 1.14 29-May-2001 mrg

branches: 1.14.2;
define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.


# 1.13 23-May-2001 hubertf

Allow overriding the 'install' target.

(I have a nice 'install' target for cobalts here, but that only works there.
I guess I'll put that into htdocs now that the cobalt port uses Makefile.mips)


Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
# 1.12 28-Mar-2001 tsutsui

Define ${OBJCOPY}.

XXX: Should we use ${CROSSDIR} here or not?


# 1.11 04-Jan-2001 shin

branches: 1.11.2;
- don't ignore DEFCOPTS (Makefile.mips).
- DEFCOPTS of hpcmips is "-Os -mmemcpy" (std.hpcmips).


# 1.10 17-Dec-2000 jdolecek

delete obsolete comment


# 1.9 09-Dec-2000 matt

cpp/lorder/mkdep don't have cross specific versions.


# 1.8 03-Dec-2000 matt

branches: 1.8.2;
Add DEFGP/CROSSDIR for hpcmips.


# 1.7 03-Dec-2000 matt

Remove redundant depend of fp.S


# 1.6 03-Dec-2000 matt

Include FP support if NOFPU is *NOT* defined.


# 1.5 03-Dec-2000 matt

Revert back to a machinearch (really cputype) of mips. Put ENDIAN back.


# 1.4 03-Dec-2000 matt

Deal with lack of floating point on hpcmips, etc.


# 1.3 03-Dec-2000 matt

Change arch from mips to mipsel/mipseb as appropriate. Nuke the ENDIAN
makeoption. Key off MACHINE_ARCH for adding -EB/-EL to CFLAGS/AFLAGS/LD/
LINKFLAGS.


# 1.2 03-Dec-2000 matt

Add a POST_STRIP_SYSTEM_LD_FLAGS for mipsco and pmax.


# 1.1 03-Dec-2000 matt

Start using a Makefile.mips. Use a combination of makeoptions and
Makefile.sgimips.inc which has sgimips specific stuff.