head 1.73; access; symbols netbsd-11-0-RC3:1.73 netbsd-11-0-RC2:1.73 netbsd-11-0-RC1:1.73 perseant-exfatfs-base-20250801:1.73 netbsd-11:1.73.0.8 netbsd-11-base:1.73 netbsd-10-1-RELEASE:1.72.14.1 perseant-exfatfs-base-20240630:1.73 perseant-exfatfs:1.73.0.6 perseant-exfatfs-base:1.73 netbsd-8-3-RELEASE:1.67 netbsd-9-4-RELEASE:1.70 netbsd-10-0-RELEASE:1.72.14.1 netbsd-10-0-RC6:1.72.14.1 netbsd-10-0-RC5:1.72.14.1 netbsd-10-0-RC4:1.72.14.1 netbsd-10-0-RC3:1.72.14.1 netbsd-10-0-RC2:1.72.14.1 thorpej-ifq:1.73.0.4 thorpej-ifq-base:1.73 thorpej-altq-separation:1.73.0.2 thorpej-altq-separation-base:1.73 netbsd-10-0-RC1:1.72.14.1 netbsd-10:1.72.0.14 netbsd-10-base:1.72 bouyer-sunxi-drm:1.72.0.12 bouyer-sunxi-drm-base:1.72 netbsd-9-3-RELEASE:1.70 thorpej-i2c-spi-conf2:1.72.0.10 thorpej-i2c-spi-conf2-base:1.72 thorpej-futex2:1.72.0.8 thorpej-futex2-base:1.72 thorpej-cfargs2:1.72.0.6 thorpej-cfargs2-base:1.72 cjep_sun2x-base1:1.72 cjep_sun2x:1.72.0.4 cjep_sun2x-base:1.72 cjep_staticlib_x-base1:1.72 netbsd-9-2-RELEASE:1.70 cjep_staticlib_x:1.72.0.2 cjep_staticlib_x-base:1.72 thorpej-i2c-spi-conf:1.70.0.16 thorpej-i2c-spi-conf-base:1.72 thorpej-cfargs:1.70.0.14 thorpej-cfargs-base:1.70 thorpej-futex:1.70.0.12 thorpej-futex-base:1.70 netbsd-9-1-RELEASE:1.70 bouyer-xenpvh-base2:1.70 phil-wifi-20200421:1.70 bouyer-xenpvh-base1:1.70 phil-wifi-20200411:1.70 bouyer-xenpvh:1.70.0.10 bouyer-xenpvh-base:1.70 is-mlppp:1.70.0.8 is-mlppp-base:1.70 phil-wifi-20200406:1.70 netbsd-8-2-RELEASE:1.67 ad-namecache-base3:1.70 netbsd-9-0-RELEASE:1.70 netbsd-9-0-RC2:1.70 ad-namecache-base2:1.70 ad-namecache-base1:1.70 ad-namecache:1.70.0.6 ad-namecache-base:1.70 netbsd-9-0-RC1:1.70 phil-wifi-20191119:1.70 netbsd-9:1.70.0.4 netbsd-9-base:1.70 phil-wifi-20190609:1.70 netbsd-8-1-RELEASE:1.67 netbsd-8-1-RC1:1.67 isaki-audio2:1.70.0.2 isaki-audio2-base:1.70 pgoyette-compat-merge-20190127:1.67.12.3 pgoyette-compat-20190127:1.70 pgoyette-compat-20190118:1.70 pgoyette-compat-1226:1.69 pgoyette-compat-1126:1.69 pgoyette-compat-1020:1.69 pgoyette-compat-0930:1.69 pgoyette-compat-0906:1.68 netbsd-7-2-RELEASE:1.59 pgoyette-compat-0728:1.68 netbsd-8-0-RELEASE:1.67 phil-wifi:1.68.0.2 phil-wifi-base:1.68 pgoyette-compat-0625:1.68 netbsd-8-0-RC2:1.67 pgoyette-compat-0521:1.67 pgoyette-compat-0502:1.67 pgoyette-compat-0422:1.67 netbsd-8-0-RC1:1.67 pgoyette-compat-0415:1.67 pgoyette-compat-0407:1.67 pgoyette-compat-0330:1.67 pgoyette-compat-0322:1.67 pgoyette-compat-0315:1.67 netbsd-7-1-2-RELEASE:1.59 pgoyette-compat:1.67.0.12 pgoyette-compat-base:1.67 netbsd-7-1-1-RELEASE:1.59 tls-maxphys-base-20171202:1.67 matt-nb8-mediatek:1.67.0.10 matt-nb8-mediatek-base:1.67 nick-nhusb-base-20170825:1.67 perseant-stdc-iso10646:1.67.0.8 perseant-stdc-iso10646-base:1.67 netbsd-8:1.67.0.6 netbsd-8-base:1.67 prg-localcount2-base3:1.67 prg-localcount2-base2:1.67 prg-localcount2-base1:1.67 prg-localcount2:1.67.0.4 prg-localcount2-base:1.67 pgoyette-localcount-20170426:1.67 bouyer-socketcan-base1:1.67 jdolecek-ncq:1.67.0.2 jdolecek-ncq-base:1.67 pgoyette-localcount-20170320:1.67 netbsd-7-1:1.59.0.18 netbsd-7-1-RELEASE:1.59 netbsd-7-1-RC2:1.59 nick-nhusb-base-20170204:1.65 netbsd-7-nhusb-base-20170116:1.59 bouyer-socketcan:1.65.0.4 bouyer-socketcan-base:1.65 pgoyette-localcount-20170107:1.65 netbsd-7-1-RC1:1.59 nick-nhusb-base-20161204:1.65 pgoyette-localcount-20161104:1.65 netbsd-7-0-2-RELEASE:1.59 nick-nhusb-base-20161004:1.65 localcount-20160914:1.65 netbsd-7-nhusb:1.59.0.16 netbsd-7-nhusb-base:1.59 pgoyette-localcount-20160806:1.65 pgoyette-localcount-20160726:1.65 pgoyette-localcount:1.65.0.2 pgoyette-localcount-base:1.65 nick-nhusb-base-20160907:1.65 nick-nhusb-base-20160529:1.65 netbsd-7-0-1-RELEASE:1.59 nick-nhusb-base-20160422:1.65 nick-nhusb-base-20160319:1.63 nick-nhusb-base-20151226:1.62 netbsd-7-0:1.59.0.14 netbsd-7-0-RELEASE:1.59 nick-nhusb-base-20150921:1.62 netbsd-7-0-RC3:1.59 netbsd-7-0-RC2:1.59 netbsd-7-0-RC1:1.59 nick-nhusb-base-20150606:1.61 nick-nhusb-base-20150406:1.61 nick-nhusb:1.61.0.2 nick-nhusb-base:1.61 netbsd-5-2-3-RELEASE:1.50.20.1 netbsd-5-1-5-RELEASE:1.50.20.1 netbsd-6-0-6-RELEASE:1.58 netbsd-6-1-5-RELEASE:1.58 netbsd-7:1.59.0.12 netbsd-7-base:1.59 yamt-pagecache-base9:1.59 yamt-pagecache-tag8:1.58 netbsd-6-1-4-RELEASE:1.58 netbsd-6-0-5-RELEASE:1.58 tls-earlyentropy:1.59.0.10 tls-earlyentropy-base:1.59 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.59 riastradh-drm2-base3:1.59 netbsd-6-1-3-RELEASE:1.58 netbsd-6-0-4-RELEASE:1.58 netbsd-5-2-2-RELEASE:1.50.20.1 netbsd-5-1-4-RELEASE:1.50.20.1 netbsd-6-1-2-RELEASE:1.58 netbsd-6-0-3-RELEASE:1.58 netbsd-5-2-1-RELEASE:1.50.20.1 netbsd-5-1-3-RELEASE:1.50.20.1 rmind-smpnet-nbase:1.59 netbsd-6-1-1-RELEASE:1.58 riastradh-drm2-base2:1.59 riastradh-drm2-base1:1.59 riastradh-drm2:1.59.0.8 riastradh-drm2-base:1.59 rmind-smpnet:1.59.0.6 rmind-smpnet-base:1.59 netbsd-6-1:1.58.0.20 netbsd-6-0-2-RELEASE:1.58 netbsd-6-1-RELEASE:1.58 khorben-n900:1.59.0.4 netbsd-6-1-RC4:1.58 netbsd-6-1-RC3:1.58 agc-symver:1.59.0.2 agc-symver-base:1.59 netbsd-6-1-RC2:1.58 netbsd-6-1-RC1:1.58 yamt-pagecache-base8:1.58 netbsd-5-2:1.50.20.1.0.6 netbsd-6-0-1-RELEASE:1.58 yamt-pagecache-base7:1.58 netbsd-5-2-RELEASE:1.50.20.1 netbsd-5-2-RC1:1.50.20.1 matt-nb6-plus-nbase:1.58 yamt-pagecache-base6:1.58 netbsd-6-0:1.58.0.16 netbsd-6-0-RELEASE:1.58 netbsd-6-0-RC2:1.58 tls-maxphys:1.58.0.14 tls-maxphys-base:1.59 matt-nb6-plus:1.58.0.12 matt-nb6-plus-base:1.58 netbsd-6-0-RC1:1.58 jmcneill-usbmp-base10:1.58 yamt-pagecache-base5:1.58 jmcneill-usbmp-base9:1.58 yamt-pagecache-base4:1.58 jmcneill-usbmp-base8:1.58 jmcneill-usbmp-base7:1.58 jmcneill-usbmp-base6:1.58 jmcneill-usbmp-base5:1.58 jmcneill-usbmp-base4:1.58 jmcneill-usbmp-base3:1.58 jmcneill-usbmp-pre-base2:1.58 jmcneill-usbmp-base2:1.58 netbsd-6:1.58.0.10 netbsd-6-base:1.58 netbsd-5-1-2-RELEASE:1.50.20.1 netbsd-5-1-1-RELEASE:1.50.20.1 jmcneill-usbmp:1.58.0.8 jmcneill-usbmp-base:1.58 jmcneill-audiomp3:1.58.0.6 jmcneill-audiomp3-base:1.58 yamt-pagecache-base3:1.58 yamt-pagecache-base2:1.58 yamt-pagecache:1.58.0.4 yamt-pagecache-base:1.58 rmind-uvmplock-nbase:1.58 cherry-xenmp:1.58.0.2 cherry-xenmp-base:1.58 jym-xensuspend-nbase:1.58 uebayasi-xip-base7:1.57 bouyer-quota2-nbase:1.58 bouyer-quota2:1.55.0.8 bouyer-quota2-base:1.57 jruoho-x86intr:1.55.0.6 jruoho-x86intr-base:1.55 matt-mips64-premerge-20101231:1.55 matt-nb5-mips64-premerge-20101231:1.50.24.7 matt-nb5-pq3:1.50.20.1.0.4 matt-nb5-pq3-base:1.50.20.1 netbsd-5-1:1.50.20.1.0.2 uebayasi-xip-base6:1.55 uebayasi-xip-base5:1.55 netbsd-5-1-RELEASE:1.50.20.1 uebayasi-xip-base4:1.55 uebayasi-xip-base3:1.55 yamt-nfs-mp-base11:1.55 netbsd-5-1-RC4:1.50.20.1 matt-nb5-mips64-k15:1.50.24.7 uebayasi-xip-base2:1.55 yamt-nfs-mp-base10:1.55 netbsd-5-1-RC3:1.50.20.1 netbsd-5-1-RC2:1.50.20.1 uebayasi-xip-base1:1.55 netbsd-5-1-RC1:1.50.20.1 rmind-uvmplock:1.55.0.4 rmind-uvmplock-base:1.58 yamt-nfs-mp-base9:1.55 uebayasi-xip:1.55.0.2 uebayasi-xip-base:1.55 netbsd-5-0-2-RELEASE:1.50 matt-nb5-mips64-premerge-20091211:1.50.24.3 matt-premerge-20091211:1.54 yamt-nfs-mp-base8:1.54 matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.50.24.2 matt-nb4-mips64-k7-u2a-k9b:1.50.24.2 matt-nb5-mips64-u1-k1-k5:1.50.24.2 yamt-nfs-mp-base7:1.54 matt-nb5-mips64:1.50.0.24 netbsd-5-0-1-RELEASE:1.50 jymxensuspend-base:1.54 yamt-nfs-mp-base6:1.54 yamt-nfs-mp-base5:1.54 yamt-nfs-mp-base4:1.54 yamt-nfs-mp-base3:1.54 nick-hppapmap-base4:1.54 nick-hppapmap-base3:1.54 netbsd-5-0:1.50.0.22 netbsd-5-0-RELEASE:1.50 netbsd-5-0-RC4:1.50 netbsd-5-0-RC3:1.50 nick-hppapmap-base2:1.54 netbsd-5-0-RC2:1.50 jym-xensuspend:1.52.0.2 jym-xensuspend-base:1.58 netbsd-5-0-RC1:1.50 haad-dm-base2:1.52 haad-nbase2:1.52 ad-audiomp2:1.51.0.2 ad-audiomp2-base:1.51 netbsd-5:1.50.0.20 netbsd-5-base:1.50 nick-hppapmap:1.50.0.18 nick-hppapmap-base:1.54 matt-mips64-base2:1.50 haad-dm-base1:1.50 wrstuden-revivesa-base-4:1.50 netbsd-4-0-1-RELEASE:1.44.6.1 wrstuden-revivesa-base-3:1.50 wrstuden-revivesa-base-2:1.50 wrstuden-fixsa-newbase:1.44.6.1 nick-csl-alignment-base5:1.46 haad-dm:1.50.0.16 haad-dm-base:1.52 wrstuden-revivesa-base-1:1.50 simonb-wapbl-nbase:1.50 yamt-pf42-base4:1.50 simonb-wapbl:1.50.0.14 simonb-wapbl-base:1.50 yamt-pf42-base3:1.50 hpcarm-cleanup-nbase:1.50 yamt-pf42-baseX:1.50 yamt-pf42-base2:1.50 yamt-nfs-mp-base2:1.50 wrstuden-revivesa:1.50.0.12 wrstuden-revivesa-base:1.50 yamt-nfs-mp:1.50.0.10 yamt-nfs-mp-base:1.50 yamt-pf42:1.50.0.8 yamt-pf42-base:1.50 ad-socklock-base1:1.50 yamt-lazymbuf-base15:1.50 yamt-lazymbuf-base14:1.50 keiichi-mipv6-nbase:1.50 mjf-devfs2:1.50.0.6 mjf-devfs2-base:1.52 nick-net80211-sync:1.50.0.4 nick-net80211-sync-base:1.50 keiichi-mipv6:1.50.0.2 keiichi-mipv6-base:1.50 bouyer-xeni386-merge1:1.47.8.1 matt-armv6-prevmlocking:1.46.10.1 wrstuden-fixsa-base-1:1.44.6.1 vmlocking2-base3:1.47 netbsd-4-0:1.44.6.1.0.4 netbsd-4-0-RELEASE:1.44.6.1 bouyer-xeni386-nbase:1.48 yamt-kmem-base3:1.47 cube-autoconf:1.47.0.10 cube-autoconf-base:1.47 yamt-kmem-base2:1.47 bouyer-xeni386:1.47.0.8 bouyer-xeni386-base:1.48 yamt-kmem:1.47.0.6 yamt-kmem-base:1.47 vmlocking2-base2:1.47 reinoud-bufcleanup-nbase:1.47 vmlocking2:1.47.0.4 vmlocking2-base1:1.47 netbsd-4-0-RC5:1.44.6.1 matt-nb4-arm:1.44.6.1.0.2 matt-nb4-arm-base:1.44.6.1 matt-armv6-nbase:1.50 jmcneill-base:1.47 netbsd-4-0-RC4:1.44.6.1 mjf-devfs:1.47.0.2 mjf-devfs-base:1.50 bouyer-xenamd64-base2:1.47 vmlocking-nbase:1.47 yamt-x86pmap-base4:1.47 bouyer-xenamd64:1.46.0.14 bouyer-xenamd64-base:1.47 netbsd-4-0-RC3:1.44.6.1 yamt-x86pmap-base3:1.46 yamt-x86pmap-base2:1.46 netbsd-4-0-RC2:1.44.6.1 yamt-x86pmap:1.46.0.12 yamt-x86pmap-base:1.46 netbsd-4-0-RC1:1.44.6.1 matt-armv6:1.46.0.10 matt-armv6-base:1.48 jmcneill-pm:1.46.0.8 jmcneill-pm-base:1.47 hpcarm-cleanup:1.46.0.6 hpcarm-cleanup-base:1.50 nick-csl-alignment:1.46.0.4 nick-csl-alignment-base:1.46 matt-mips64:1.46.0.2 matt-mips64-base:1.46 netbsd-3-1-1-RELEASE:1.38 netbsd-3-0-3-RELEASE:1.38 yamt-idlelwp-base8:1.44 wrstuden-fixsa:1.44.0.22 wrstuden-fixsa-base:1.44.6.1 ppcoea-renovation:1.44.0.20 ppcoea-renovation-base:1.46 thorpej-atomic:1.44.0.18 thorpej-atomic-base:1.44 reinoud-bufcleanup:1.44.0.16 reinoud-bufcleanup-base:1.47 mjf-ufs-trans:1.44.0.14 mjf-ufs-trans-base:1.46 vmlocking:1.44.0.12 vmlocking-base:1.46 ad-audiomp:1.44.0.10 ad-audiomp-base:1.44 yamt-idlelwp:1.44.0.8 post-newlock2-merge:1.44 newlock2-nbase:1.44 yamt-splraiseipl-base5:1.44 yamt-splraiseipl-base4:1.44 yamt-splraiseipl-base3:1.44 abandoned-netbsd-4-base:1.41 abandoned-netbsd-4:1.41.0.6 netbsd-3-1:1.38.0.14 netbsd-3-1-RELEASE:1.38 netbsd-3-0-2-RELEASE:1.38 yamt-splraiseipl-base2:1.44 netbsd-3-1-RC4:1.38 yamt-splraiseipl:1.44.0.4 yamt-splraiseipl-base:1.44 netbsd-3-1-RC3:1.38 yamt-pdpolicy-base9:1.44 newlock2:1.44.0.2 newlock2-base:1.44 yamt-pdpolicy-base8:1.44 netbsd-3-1-RC2:1.38 netbsd-3-1-RC1:1.38 yamt-pdpolicy-base7:1.41 netbsd-4:1.44.0.6 netbsd-4-base:1.44 yamt-pdpolicy-base6:1.41 chap-midi-nbase:1.41 netbsd-3-0-1-RELEASE:1.38 gdamore-uart:1.41.0.4 gdamore-uart-base:1.41 simonb-timcounters-final:1.40.8.1 yamt-pdpolicy-base5:1.41 chap-midi:1.41.0.2 chap-midi-base:1.41 yamt-pdpolicy-base4:1.41 yamt-pdpolicy-base3:1.40 peter-altq-base:1.40 peter-altq:1.40.0.14 yamt-pdpolicy-base2:1.40 elad-kernelauth-base:1.41 elad-kernelauth:1.40.0.12 yamt-pdpolicy:1.40.0.10 yamt-pdpolicy-base:1.40 yamt-uio_vmspace-base5:1.40 simonb-timecounters:1.40.0.8 simonb-timecounters-base:1.41 rpaulo-netinet-merge-pcb:1.40.0.6 rpaulo-netinet-merge-pcb-base:1.44 yamt-uio_vmspace:1.40.0.4 netbsd-3-0:1.38.0.12 netbsd-3-0-RELEASE:1.38 netbsd-3-0-RC6:1.38 yamt-readahead-base3:1.40 netbsd-3-0-RC5:1.38 netbsd-3-0-RC4:1.38 netbsd-3-0-RC3:1.38 yamt-readahead-base2:1.40 netbsd-3-0-RC2:1.38 yamt-readahead-pervnode:1.40 yamt-readahead-perfile:1.40 yamt-readahead:1.40.0.2 yamt-readahead-base:1.40 netbsd-3-0-RC1:1.38 yamt-vop-base3:1.39 netbsd-2-0-3-RELEASE:1.34 netbsd-2-1:1.34.4.1.0.2 yamt-vop-base2:1.39 thorpej-vnode-attr:1.39.0.6 thorpej-vnode-attr-base:1.39 netbsd-2-1-RELEASE:1.34.4.1 yamt-vop:1.39.0.4 yamt-vop-base:1.39 netbsd-2-1-RC6:1.34.4.1 netbsd-2-1-RC5:1.34.4.1 netbsd-2-1-RC4:1.34.4.1 netbsd-2-1-RC3:1.34.4.1 netbsd-2-1-RC2:1.34.4.1 netbsd-2-1-RC1:1.34.4.1 yamt-lazymbuf:1.39.0.2 yamt-km-base4:1.38 netbsd-2-0-2-RELEASE:1.34 yamt-km-base3:1.38 netbsd-3:1.38.0.10 netbsd-3-base:1.38 yamt-km-base2:1.38 yamt-km:1.38.0.6 yamt-km-base:1.38 kent-audio2:1.38.0.4 kent-audio2-base:1.38 netbsd-2-0-1-RELEASE:1.34 kent-audio1-beforemerge:1.38 netbsd-2:1.34.0.4 netbsd-2-base:1.34 kent-audio1:1.38.0.2 kent-audio1-base:1.38 netbsd-2-0-RELEASE:1.34 netbsd-2-0-RC5:1.34 netbsd-2-0-RC4:1.34 netbsd-2-0-RC3:1.34 netbsd-2-0-RC2:1.34 netbsd-2-0-RC1:1.34 netbsd-2-0:1.34.0.2 netbsd-2-0-base:1.34 netbsd-1-6-PATCH002-RELEASE:1.26.8.1 netbsd-1-6-PATCH002:1.26.8.1 netbsd-1-6-PATCH002-RC4:1.26.8.1 netbsd-1-6-PATCH002-RC3:1.26.8.1 netbsd-1-6-PATCH002-RC2:1.26.8.1 netbsd-1-6-PATCH002-RC1:1.26.8.1 ktrace-lwp:1.32.0.6 ktrace-lwp-base:1.40 netbsd-1-6-PATCH001:1.26.8.1 netbsd-1-6-PATCH001-RELEASE:1.26.8.1 netbsd-1-6-PATCH001-RC3:1.26.8.1 netbsd-1-6-PATCH001-RC2:1.26.8.1 netbsd-1-6-PATCH001-RC1:1.26.8.1 nathanw_sa_end:1.24.2.6 nathanw_sa_before_merge:1.32 fvdl_fs64_base:1.32 gmcgarry_ctxsw:1.32.0.4 gmcgarry_ctxsw_base:1.32 gmcgarry_ucred:1.32.0.2 gmcgarry_ucred_base:1.32 nathanw_sa_base:1.32 kqueue-aftermerge:1.27 kqueue-beforemerge:1.27 netbsd-1-6-RELEASE:1.26 netbsd-1-6-RC3:1.26 netbsd-1-6-RC2:1.26 netbsd-1-6-RC1:1.26 netbsd-1-6:1.26.0.8 netbsd-1-6-base:1.26 gehenna-devsw:1.26.0.6 gehenna-devsw-base:1.27 eeh-devprop:1.26.0.4 eeh-devprop-base:1.26 newlock:1.26.0.2 newlock-base:1.26 ifpoll-base:1.25 nathanw_sa:1.24.0.2 thorpej-mips-cache:1.22.0.2 thorpej-mips-cache-base:1.24 thorpej-devvp-base3:1.19 thorpej-devvp-base2:1.16 post-chs-ubcperf:1.16 pre-chs-ubcperf:1.16 thorpej-devvp:1.16.0.2 thorpej-devvp-base:1.16 kqueue:1.14.0.2 kqueue-base:1.27 thorpej_scsipi_beforemerge:1.12 thorpej_scsipi_nbase:1.12 thorpej_scsipi_base:1.12 thorpej_scsipi:1.8.0.2; locks; strict; comment @# @; 1.73 date 2023.07.26.03.41.57; author rin; state Exp; branches; next 1.72; commitid 3Lrx3eREXdcFmgyE; 1.72 date 2021.04.26.00.28.01; author christos; state Exp; branches 1.72.14.1; next 1.71; commitid irm8L1MOCg0DGJQC; 1.71 date 2021.04.25.23.24.00; author christos; state Exp; branches; next 1.70; commitid M9a6e7uJbnSGkJQC; 1.70 date 2019.01.01.19.41.04; author christos; state Exp; branches 1.70.16.1; next 1.69; commitid 4FF93amfFWjcg76B; 1.69 date 2018.09.22.12.24.02; author rin; state Exp; branches; next 1.68; commitid oPiNEJ7VnAF626TA; 1.68 date 2018.06.05.11.39.49; author christos; state Exp; branches 1.68.2.1; next 1.67; commitid KjSZxFFkF4Myl5FA; 1.67 date 2017.02.22.13.34.39; author maya; state Exp; branches 1.67.12.1; next 1.66; 1.66 date 2017.02.22.13.17.29; author maya; state Exp; branches; next 1.65; 1.65 date 2016.03.29.18.40.32; author macallan; state Exp; branches 1.65.2.1 1.65.4.1; next 1.64; 1.64 date 2016.03.28.08.10.57; author martin; state Exp; branches; next 1.63; 1.63 date 2016.02.18.20.50.44; author macallan; state Exp; branches; next 1.62; 1.62 date 2015.08.24.14.04.24; author uebayasi; state Exp; branches; next 1.61; 1.61 date 2014.11.15.15.01.41; author uebayasi; state Exp; branches 1.61.2.1; next 1.60; 1.60 date 2014.11.15.12.29.02; author uebayasi; state Exp; branches; next 1.59; 1.59 date 2013.03.10.07.18.20; author christos; state Exp; branches; next 1.58; 1.58 date 2011.02.20.07.45.46; author matt; state Exp; branches 1.58.4.1 1.58.14.1; next 1.57; 1.57 date 2011.02.01.06.18.40; author matt; state Exp; branches; next 1.56; 1.56 date 2011.01.21.15.59.07; author joerg; state Exp; branches; next 1.55; 1.55 date 2009.12.14.00.46.04; author matt; state Exp; branches 1.55.4.1 1.55.6.1 1.55.8.1; next 1.54; 1.54 date 2009.02.15.01.58.01; author cube; state Exp; branches; next 1.53; 1.53 date 2009.02.14.16.53.55; author apb; state Exp; branches; next 1.52; 1.52 date 2008.12.11.05.27.42; author alc; state Exp; branches 1.52.2.1; next 1.51; 1.51 date 2008.11.13.10.51.23; author ad; state Exp; branches; next 1.50; 1.50 date 2008.02.18.15.21.04; author tsutsui; state Exp; branches 1.50.6.1 1.50.10.1 1.50.16.1 1.50.18.1 1.50.20.1 1.50.24.1; next 1.49; 1.49 date 2008.02.18.13.23.34; author joerg; state Exp; branches; next 1.48; 1.48 date 2008.01.03.20.02.22; author joerg; state Exp; branches; next 1.47; 1.47 date 2007.10.17.19.55.35; author garbled; state Exp; branches 1.47.2.1 1.47.8.1; next 1.46; 1.46 date 2007.05.25.10.44.27; author tsutsui; state Exp; branches 1.46.10.1; next 1.45; 1.45 date 2007.05.17.14.51.22; author yamt; state Exp; branches; next 1.44; 1.44 date 2006.08.27.21.44.15; author matt; state Exp; branches 1.44.6.1 1.44.8.1 1.44.12.1 1.44.14.1 1.44.20.1 1.44.22.1; next 1.43; 1.43 date 2006.08.27.18.40.33; author matt; state Exp; branches; next 1.42; 1.42 date 2006.08.26.20.03.49; author matt; state Exp; branches; next 1.41; 1.41 date 2006.04.04.04.30.28; author gdamore; state Exp; branches; next 1.40; 1.40 date 2005.11.11.06.22.04; author simonb; state Exp; branches 1.40.6.1 1.40.8.1 1.40.10.1 1.40.12.1 1.40.14.1; next 1.39; 1.39 date 2005.05.31.04.03.10; author christos; state Exp; branches 1.39.2.1; next 1.38; 1.38 date 2004.10.01.07.00.12; author sekiya; state Exp; branches; next 1.37; 1.37 date 2004.10.01.06.46.40; author sekiya; state Exp; branches; next 1.36; 1.36 date 2004.09.29.06.03.03; author sekiya; state Exp; branches; next 1.35; 1.35 date 2004.06.04.04.45.50; author thorpej; state Exp; branches; next 1.34; 1.34 date 2003.10.05.16.53.15; author tsutsui; state Exp; branches 1.34.4.1; next 1.33; 1.33 date 2003.07.04.03.48.01; author simonb; state Exp; branches; next 1.32; 1.32 date 2002.12.09.22.54.14; author simonb; state Exp; branches 1.32.6.1; next 1.31; 1.31 date 2002.11.09.20.34.26; author thorpej; state Exp; branches; next 1.30; 1.30 date 2002.11.09.18.18.22; author thorpej; state Exp; branches; next 1.29; 1.29 date 2002.11.09.18.12.09; author thorpej; state Exp; branches; next 1.28; 1.28 date 2002.11.09.07.31.08; author thorpej; state Exp; branches; next 1.27; 1.27 date 2002.06.04.21.39.11; author thorpej; state Exp; branches; next 1.26; 1.26 date 2002.03.05.14.28.31; author simonb; state Exp; branches 1.26.6.1 1.26.8.1; next 1.25; 1.25 date 2001.12.09.05.00.46; author atatat; state Exp; branches; next 1.24; 1.24 date 2001.10.26.08.25.54; author shin; state Exp; branches 1.24.2.1; next 1.23; 1.23 date 2001.10.26.06.45.37; author jmc; state Exp; branches; next 1.22; 1.22 date 2001.10.23.20.40.02; author thorpej; state Exp; branches 1.22.2.1; next 1.21; 1.21 date 2001.10.23.18.57.32; author thorpej; state Exp; branches; next 1.20; 1.20 date 2001.10.16.16.31.32; author uch; state Exp; branches; next 1.19; 1.19 date 2001.10.08.10.14.20; author simonb; state Exp; branches; next 1.18; 1.18 date 2001.10.05.15.14.18; author simonb; state Exp; branches; next 1.17; 1.17 date 2001.10.05.05.03.27; author simonb; state Exp; branches; next 1.16; 1.16 date 2001.07.19.01.46.15; author oster; state Exp; branches 1.16.2.1; next 1.15; 1.15 date 2001.07.15.06.38.07; author takemura; state Exp; branches; next 1.14; 1.14 date 2001.05.29.02.20.24; author mrg; state Exp; branches 1.14.2.1; next 1.13; 1.13 date 2001.05.23.02.35.40; author hubertf; state Exp; branches; next 1.12; 1.12 date 2001.03.28.17.03.48; author tsutsui; state Exp; branches; next 1.11; 1.11 date 2001.01.04.05.13.30; author shin; state Exp; branches 1.11.2.1; next 1.10; 1.10 date 2000.12.17.15.52.42; author jdolecek; state Exp; branches; next 1.9; 1.9 date 2000.12.09.20.42.06; author matt; state Exp; branches; next 1.8; 1.8 date 2000.12.03.07.55.12; author matt; state Exp; branches 1.8.2.1; next 1.7; 1.7 date 2000.12.03.07.44.43; author matt; state Exp; branches; next 1.6; 1.6 date 2000.12.03.07.21.50; author matt; state Exp; branches; next 1.5; 1.5 date 2000.12.03.07.05.23; author matt; state Exp; branches; next 1.4; 1.4 date 2000.12.03.06.04.50; author matt; state Exp; branches; next 1.3; 1.3 date 2000.12.03.05.30.31; author matt; state Exp; branches; next 1.2; 1.2 date 2000.12.03.04.52.38; author matt; state Exp; branches; next 1.1; 1.1 date 2000.12.03.02.07.05; author matt; state Exp; branches; next ; 1.72.14.1 date 2023.09.11.13.35.37; author martin; state Exp; branches; next ; commitid DVOFlvNJch029mEE; 1.70.16.1 date 2021.05.13.00.47.26; author thorpej; state Exp; branches; next ; commitid hlq0lOvHnylpfVSC; 1.68.2.1 date 2019.06.10.22.06.29; author christos; state Exp; branches; next ; commitid jtc8rnCzWiEEHGqB; 1.67.12.1 date 2018.06.25.07.25.44; author pgoyette; state Exp; branches; next 1.67.12.2; commitid 8PtAu9af7VvhiDHA; 1.67.12.2 date 2018.09.30.01.45.45; author pgoyette; state Exp; branches; next 1.67.12.3; commitid SQ44grEPCeKPh4UA; 1.67.12.3 date 2019.01.18.08.50.19; author pgoyette; state Exp; branches; next ; commitid Lmlzg3OVT2cd6f8B; 1.65.2.1 date 2017.03.20.06.57.17; author pgoyette; state Exp; branches; next ; 1.65.4.1 date 2017.04.21.16.53.31; author bouyer; state Exp; branches; next ; 1.61.2.1 date 2015.09.22.12.05.47; author skrll; state Exp; branches; next 1.61.2.2; 1.61.2.2 date 2016.03.19.11.30.02; author skrll; state Exp; branches; next 1.61.2.3; 1.61.2.3 date 2016.04.22.15.44.10; author skrll; state Exp; branches; next 1.61.2.4; 1.61.2.4 date 2017.08.28.17.51.45; author skrll; state Exp; branches; next ; commitid UQQpnjvcNkUZn05A; 1.58.4.1 date 2014.05.22.11.39.57; author yamt; state Exp; branches; next ; 1.58.14.1 date 2013.06.23.06.20.08; author tls; state Exp; branches; next 1.58.14.2; 1.58.14.2 date 2017.12.03.11.36.27; author jdolecek; state Exp; branches; next ; commitid XcIYRZTAh1LmerhA; 1.55.4.1 date 2011.03.05.20.51.03; author rmind; state Exp; branches; next ; 1.55.6.1 date 2011.06.06.09.06.03; author jruoho; state Exp; branches; next ; 1.55.8.1 date 2011.02.08.16.19.28; author bouyer; state Exp; branches; next 1.55.8.2; 1.55.8.2 date 2011.03.05.15.09.47; author bouyer; state Exp; branches; next ; 1.52.2.1 date 2009.05.13.17.18.02; author jym; state Exp; branches; next ; 1.50.6.1 date 2009.01.17.13.28.15; author mjf; state Exp; branches; next ; 1.50.10.1 date 2009.05.04.08.11.31; author yamt; state Exp; branches; next 1.50.10.2; 1.50.10.2 date 2010.03.11.15.02.38; author yamt; state Exp; branches; next ; 1.50.16.1 date 2008.12.13.01.13.17; author haad; state Exp; branches; next ; 1.50.18.1 date 2009.01.19.13.16.30; author skrll; state Exp; branches; next 1.50.18.2; 1.50.18.2 date 2009.03.03.18.29.03; author skrll; state Exp; branches; next ; 1.50.20.1 date 2009.08.07.18.33.48; author snj; state Exp; branches; next ; 1.50.24.1 date 2009.08.20.07.32.11; author matt; state Exp; branches; next 1.50.24.2; 1.50.24.2 date 2009.08.21.17.34.09; author matt; state Exp; branches; next 1.50.24.3; 1.50.24.3 date 2009.09.16.03.22.03; author matt; state Exp; branches; next 1.50.24.4; 1.50.24.4 date 2010.01.26.21.19.25; author matt; state Exp; branches; next 1.50.24.5; 1.50.24.5 date 2010.01.30.23.49.31; author matt; state Exp; branches; next 1.50.24.6; 1.50.24.6 date 2010.02.14.21.50.38; author matt; state Exp; branches; next 1.50.24.7; 1.50.24.7 date 2010.04.21.17.27.34; author matt; state Exp; branches; next ; 1.47.2.1 date 2008.02.18.21.04.46; author mjf; state Exp; branches; next ; 1.47.8.1 date 2008.01.08.22.10.10; author bouyer; state Exp; branches; next ; 1.46.10.1 date 2007.11.06.23.18.57; author matt; state Exp; branches; next 1.46.10.2; 1.46.10.2 date 2008.01.09.01.47.14; author matt; state Exp; branches; next ; 1.44.6.1 date 2007.06.11.12.24.53; author liamjfoy; state Exp; branches; next ; 1.44.8.1 date 2007.04.18.20.27.52; author ad; state Exp; branches; next ; 1.44.12.1 date 2007.05.27.12.27.43; author ad; state Exp; branches; next ; 1.44.14.1 date 2007.07.11.20.00.44; author mjf; state Exp; branches; next ; 1.44.20.1 date 2007.05.22.17.27.08; author matt; state Exp; branches; next 1.44.20.2; 1.44.20.2 date 2007.06.26.18.13.00; author garbled; state Exp; branches; next ; 1.44.22.1 date 2007.09.03.07.03.41; author wrstuden; state Exp; branches; next ; 1.40.6.1 date 2006.09.09.02.41.25; author rpaulo; state Exp; branches; next ; 1.40.8.1 date 2006.04.22.11.37.42; author simonb; state Exp; branches; next ; 1.40.10.1 date 2006.04.11.11.53.43; author yamt; state Exp; branches; next 1.40.10.2; 1.40.10.2 date 2006.09.03.15.23.21; author yamt; state Exp; branches; next ; 1.40.12.1 date 2006.04.19.02.33.18; author elad; state Exp; branches; next ; 1.40.14.1 date 2006.05.24.15.48.13; author tron; state Exp; branches; next ; 1.39.2.1 date 2006.06.21.14.53.38; author yamt; state Exp; branches; next 1.39.2.2; 1.39.2.2 date 2006.12.30.20.46.32; author yamt; state Exp; branches; next 1.39.2.3; 1.39.2.3 date 2007.09.03.14.27.55; author yamt; state Exp; branches; next 1.39.2.4; 1.39.2.4 date 2008.01.21.09.37.31; author yamt; state Exp; branches; next ; 1.34.4.1 date 2005.02.06.07.45.25; author jmc; state Exp; branches; next ; 1.32.6.1 date 2004.08.03.10.37.38; author skrll; state Exp; branches; next 1.32.6.2; 1.32.6.2 date 2004.09.18.14.37.18; author skrll; state Exp; branches; next 1.32.6.3; 1.32.6.3 date 2004.09.21.13.18.38; author skrll; state Exp; branches; next 1.32.6.4; 1.32.6.4 date 2004.10.19.15.56.37; author skrll; state Exp; branches; next 1.32.6.5; 1.32.6.5 date 2005.11.10.13.57.33; author skrll; state Exp; branches; next 1.32.6.6; 1.32.6.6 date 2005.12.11.10.28.20; author christos; state Exp; branches; next ; 1.26.6.1 date 2002.07.14.18.37.12; author gehenna; state Exp; branches; next ; 1.26.8.1 date 2002.11.15.00.22.50; author lukem; state Exp; branches; next ; 1.24.2.1 date 2001.10.26.08.25.54; author nathanw; state dead; branches; next 1.24.2.2; 1.24.2.2 date 2002.01.08.00.26.15; author nathanw; state Exp; branches; next 1.24.2.3; 1.24.2.3 date 2002.04.01.07.40.56; author nathanw; state Exp; branches; next 1.24.2.4; 1.24.2.4 date 2002.06.20.03.39.43; author nathanw; state Exp; branches; next 1.24.2.5; 1.24.2.5 date 2002.11.11.22.00.23; author nathanw; state Exp; branches; next 1.24.2.6; 1.24.2.6 date 2002.12.11.06.10.57; author thorpej; state Exp; branches; next ; 1.22.2.1 date 2001.11.07.01.13.05; author shin; state Exp; branches; next 1.22.2.2; 1.22.2.2 date 2001.11.12.21.17.13; author thorpej; state Exp; branches; next ; 1.16.2.1 date 2001.10.11.00.01.47; author fvdl; state Exp; branches; next ; 1.14.2.1 date 2001.08.03.04.11.58; author lukem; state Exp; branches; next 1.14.2.2; 1.14.2.2 date 2002.01.10.19.45.57; author thorpej; state Exp; branches; next 1.14.2.3; 1.14.2.3 date 2002.03.16.15.58.33; author jdolecek; state Exp; branches; next 1.14.2.4; 1.14.2.4 date 2002.06.23.17.38.00; author jdolecek; state Exp; branches; next ; 1.11.2.1 date 2001.04.09.01.53.55; author nathanw; state Exp; branches; next 1.11.2.2; 1.11.2.2 date 2001.06.21.19.27.53; author nathanw; state Exp; branches; next ; 1.8.2.1 date 2000.12.03.07.55.12; author bouyer; state dead; branches; next 1.8.2.2; 1.8.2.2 date 2000.12.08.09.28.20; author bouyer; state Exp; branches; next 1.8.2.3; 1.8.2.3 date 2000.12.13.15.49.33; author bouyer; state Exp; branches; next 1.8.2.4; 1.8.2.4 date 2001.01.05.17.34.42; author bouyer; state Exp; branches; next 1.8.2.5; 1.8.2.5 date 2001.04.21.17.54.00; author bouyer; state Exp; branches; next ; desc @@ 1.73 log @Use OBJCOPY_STRIPFLAGS instead of STRIPFLAGS. @ text @# $NetBSD: Makefile.mips,v 1.72 2021/04/26 00:28:01 christos Exp $ # Makefile for NetBSD # # This makefile is constructed from a machine description: # config machineid # Most changes should be made in the machine description # /sys/arch//conf/``machineid'' # after which you should do # config machineid # Machine generic makefile changes should be made in # /sys/arch/mips/conf/Makefile.mips # after which config should be rerun for all machines of that type. # # To specify debugging, add the config line: makeoptions DEBUG="-g" # A better way is to specify -g only for a few files. # # makeoptions DEBUGLIST="uvm* trap if_*" USETOOLS?= no NEED_OWN_INSTALL_TARGET?=no .include ## ## (0) toolchain settings for things that aren't part of the standard ## toolchain ## MIPS_ELF2ECOFF?= elf2ecoff ## ## (1) port identification ## .ifndef S S= ../../../.. .endif THISMIPS= $S/arch/${MACHINE} MIPS= $S/arch/mips GENASSYM_CONF= ${MIPS}/mips/genassym.cf .-include "${THISMIPS}/conf/Makefile.${MACHINE}.inc" ## ## (2) compile settings ## ## Note: -ffixed-?? must be kept in sync with cpu.h. ## CPPFLAGS+= -D${MACHINE} DEFGP?= -G 0 GP?= ${DEFGP} .if ${ACTIVE_CC} == "gcc" COPTS.mips_fpu.c+= -mhard-float -Wa,-mhard-float AFLAGS.fp.S+= -Wa,-mhard-float .endif CFLAGS+= ${GP} -mno-abicalls -msoft-float -ffixed-24 .if defined(LP64) && ${LP64} == "yes" .if ${MACHINE_MIPS64} CFLAGS+= -msym32 -mabi=64 AFLAGS+= -msym32 -mabi=64 .endif .if !empty(MACHINE_ARCH:Mmips*64eb) LDFLAGS+= -Wl,-m,elf64btsmip LINKFORMAT+= -m elf64btsmip SYSTEM_LD_TAIL_EXTRA+= \ ;echo ${OBJCOPY} -O elf32-ntradbigmips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-ntradbigmips $@@ $@@.elf32 .endif .if !empty(MACHINE_ARCH:Mmips*64el) LDFLAGS+= -Wl,-m,elf64ltsmip LINKFORMAT+= -m elf64ltsmip SYSTEM_LD_TAIL_EXTRA+= \ ;echo ${OBJCOPY} -O elf32-ntradlittlemips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-ntradlittlemips $@@ $@@.elf32 .endif .endif # LP64=yes AFLAGS+= -mno-abicalls -x assembler-with-cpp ${AOPTS} ## ## (3) libkern and compat ## OPT_MODULAR= %MODULAR% ## ## (4) local objects, compile rules, and dependencies ## MD_OBJS= locore.o locore_machdep.o MD_CFILES= MD_SFILES= ${MIPS}/mips/locore.S ${THISMIPS}/${MACHINE}/locore_machdep.S locore.o: ${MIPS}/mips/locore.S assym.h ${NORMAL_S} locore_machdep.o: ${THISMIPS}/${MACHINE}/locore_machdep.S assym.h ${NORMAL_S} ## ## (5) link settings ## .if ${MACHINE_MIPS64} TEXTADDR?= ${DEFTEXTADDR:C/0x8/0xFFFFFFFF8/} .else TEXTADDR?= ${DEFTEXTADDR} .endif KERNLDSCRIPT?= ${MIPS}/conf/kern.ldscript # some mips ports specify a "magic" format EXTRA_LINKFLAGS= ${GP} ${LDOPTS} LINKFLAGS_NORMAL= -X OBJCOPY_STRIPFLAGS= -g -X ## ## (6) port specific target dependencies ## # depend on CPU configuration machdep.o mainbus.o trap.o: Makefile # depend on System V IPC/shmem options mips_machdep.o pmap.o: Makefile # various assembly files that depend on assym.h copy.o fp.o locore.o locore_mips1.o locore_mips3.o: assym.h lock_stubs.o mips32_subr.o mips3_subr.o: assym.h mips64_subr.o mipsX_subr.o sigcode.o: assym.h ## ## (7) misc settings ## ## ## (8) config(8) generated machinery ## %INCLUDES %OBJS %CFILES %SFILES %LOAD %RULES ## ## (9) port independent kernel machinery ## .include "$S/conf/Makefile.kern.inc" ## ## (10) Appending make options. ## %MAKEOPTIONSAPPEND @ 1.72 log @Produce elf32 images for mipsn64eb too @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.71 2021/04/25 23:24:00 christos Exp $ d108 1 a108 1 STRIPFLAGS= -g -X @ 1.72.14.1 log @Pull up following revision(s) (requested by rin in ticket #363): sys/arch/aarch64/conf/Makefile.aarch64: revision 1.24 sys/arch/aarch64/conf/Makefile.aarch64: revision 1.25 sys/arch/shark/conf/Makefile.shark.inc: revision 1.28 sys/arch/alpha/conf/Makefile.alpha: revision 1.88 sys/arch/mips/conf/Makefile.mips: revision 1.73 sys/conf/Makefile.kern.inc: revision 1.298 sys/conf/Makefile.kern.inc: revision 1.299 sys/arch/cats/conf/Makefile.cats.inc: revision 1.37 sys/arch/arm/conf/Makefile.arm: revision 1.56 sys/arch/arm/conf/Makefile.arm: revision 1.57 sys/arch/riscv/conf/Makefile.riscv: revision 1.10 Always use arm-elf2aout; no a.out support both for binutils{,.old} Fix kernel size inflation for arm and aarch64 (PR toolchain/57146) For some conditions, SYSTEM_LD_TAIL is set for arm and aarch64. Then, ctfmerge(1) in default SYSTEM_LD_TAIL is unintentionally skipped, which results in the catastrophic kernel size inflation, as reported in the PR. Also, introduce and use OBJCOPY_STRIPFLAGS variable instead of STRIPFLAGS, as strip(1) is replaced by objcopy(1) during MI kernel build procedure. For Makefile.{arm,aarch64}, weird logic is used to determine how to handle debug symbols; MKDEBUG{,KERNEL} are taken into account later in sys/conf/Makefile.kern.inc. Use OBJCOPY_STRIPFLAGS instead of STRIPFLAGS. Simplify fix for PR toolchain/57146 Introduce ARCH_STRIP_SYMBOLS variable to centralize logic for debug symbols from MD Makefile's to Makefile.kern.inc. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.72 2021/04/26 00:28:01 christos Exp $ d108 1 a108 1 OBJCOPY_STRIPFLAGS= -g -X @ 1.71 log @use ${MACHINE_MIPS64} @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.70 2019/01/01 19:41:04 christos Exp $ d61 1 a61 1 .if ${MACHINE_ARCH} == "mips64eb" @ 1.70 log @ELF2ECOFF -> MIPS_ELF2ECOFF @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.69 2018/09/22 12:24:02 rin Exp $ d57 1 a57 1 .if ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el" d68 1 a68 1 .if ${MACHINE_ARCH} == "mips64el" d99 1 a99 1 .if ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el" @ 1.70.16.1 log @Sync with HEAD. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.72 2021/04/26 00:28:01 christos Exp $ d57 1 a57 1 .if ${MACHINE_MIPS64} d61 1 a61 1 .if !empty(MACHINE_ARCH:Mmips*64eb) d68 1 a68 1 .if !empty(MACHINE_ARCH:Mmips*64el) d99 1 a99 1 .if ${MACHINE_MIPS64} @ 1.69 log @- 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 @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.68 2018/06/05 11:39:49 christos Exp $ d28 1 a28 1 ELF2ECOFF?= elf2ecoff @ 1.68 log @use the compiler way of passing arguments to the linker. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.67 2017/02/22 13:34:39 maya Exp $ a81 5 .if !empty(OPT_MODULAR) KERN_AS= obj .else KERN_AS= library .endif @ 1.68.2.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.70 2019/01/01 19:41:04 christos Exp $ d28 1 a28 1 MIPS_ELF2ECOFF?= elf2ecoff d82 5 @ 1.67 log @leave the part for GCC >= 5.3 in. Was a little over-eager and accidentally removed the else case. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.66 2017/02/22 13:17:29 maya Exp $ d62 1 a62 1 LDFLAGS+= -m elf64btsmip d69 1 a69 1 LDFLAGS+= -m elf64ltsmip @ 1.67.12.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.68 2018/06/05 11:39:49 christos Exp $ d62 1 a62 1 LDFLAGS+= -Wl,-m,elf64btsmip d69 1 a69 1 LDFLAGS+= -Wl,-m,elf64ltsmip @ 1.67.12.2 log @Ssync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.69 2018/09/22 12:24:02 rin Exp $ d82 5 @ 1.67.12.3 log @Synch with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.67.12.2 2018/09/30 01:45:45 pgoyette Exp $ d28 1 a28 1 MIPS_ELF2ECOFF?= elf2ecoff @ 1.66 log @GC workaround for GCC 4.8 fixed in GCC 5+ @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.65 2016/03/29 18:40:32 macallan Exp $ d50 5 @ 1.65 log @make sure we compile mips_fpu.c and fp.S with -mhard-float @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.64 2016/03/28 08:10:57 martin Exp $ a49 16 .if ${ACTIVE_CC} == "gcc" && ${HAVE_GCC} == "48" # XXX # 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 CFLAGS+= -Wa,-msoft-float COPTS.mips_fpu.c+= -Wa,-mhard-float .else COPTS.mips_fpu.c+= -mhard-float -Wa,-mhard-float AFLAGS.fp.S+= -Wa,-mhard-float .endif @ 1.65.4.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.67 2017/02/22 13:34:39 maya Exp $ d50 12 a61 1 .if ${ACTIVE_CC} == "gcc" @ 1.65.2.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.67 2017/02/22 13:34:39 maya Exp $ d50 12 a61 1 .if ${ACTIVE_CC} == "gcc" @ 1.64 log @Restrict float format hacks to gcc 4.8 @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.63 2016/02/18 20:50:44 macallan Exp $ d61 3 @ 1.63 log @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 @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.62 2015/08/24 14:04:24 uebayasi Exp $ d50 1 d61 1 @ 1.62 log @Define ${LINKSCRIPT} in one place. @ text @d1 1 a1 1 # $NetBSD$ d49 12 @ 1.61 log @LINKSCRIPT is set only once, so use = not +=. @ text @a104 1 LINKSCRIPT= -T ${KERNLDSCRIPT} @ 1.61.2.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.62 2015/08/24 14:04:24 uebayasi Exp $ d105 1 @ 1.61.2.2 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.61.2.1 2015/09/22 12:05:47 skrll Exp $ a48 12 # XXX # 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 CFLAGS+= -Wa,-msoft-float COPTS.mips_fpu.c+= -Wa,-mhard-float @ 1.61.2.3 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.61.2.2 2016/03/19 11:30:02 skrll Exp $ a49 1 .if ${ACTIVE_CC} == "gcc" && ${HAVE_GCC} == "48" a59 4 .else COPTS.mips_fpu.c+= -mhard-float -Wa,-mhard-float AFLAGS.fp.S+= -Wa,-mhard-float .endif @ 1.61.2.4 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.61.2.3 2016/04/22 15:44:10 skrll Exp $ d50 12 a61 1 .if ${ACTIVE_CC} == "gcc" @ 1.60 log @Use LINKSCRIPT. @ text @d105 1 a105 1 LINKSCRIPT+= -T ${KERNLDSCRIPT} @ 1.59 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.58 2011/02/20 07:45:46 matt Exp $ d105 1 a105 1 LINKFORMAT+= -T ${KERNLDSCRIPT} @ 1.58 log @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 @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.57 2011/02/01 06:18:40 matt Exp $ d78 2 @ 1.58.4.1 log @sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments") @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.58 2011/02/20 07:45:46 matt Exp $ a77 2 .else KERN_AS= library @ 1.58.14.1 log @resync from head @ text @d1 1 a1 1 # $NetBSD$ a77 2 .else KERN_AS= library @ 1.58.14.2 log @update from HEAD @ text @a48 6 .if ${ACTIVE_CC} == "gcc" COPTS.mips_fpu.c+= -mhard-float -Wa,-mhard-float AFLAGS.fp.S+= -Wa,-mhard-float .endif d105 1 @ 1.57 log @Use elf32-ntrad{little,big}mips @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.56 2011/01/21 15:59:07 joerg Exp $ d49 1 a49 1 CFLAGS+= ${GP} -mno-abicalls -msoft-float -ffixed-23 d120 1 a120 1 lock_stubs.o mips32_subr.o mips3_subr.o mips5900_subr.o: assym.h @ 1.56 log @Switch remaining platforms to modern CPP for assembler. @ text @d1 1 a1 1 # $NetBSD: src/sys/arch/mips/conf/Makefile.mips,v 1.55 2009-12-14 00:46:04 matt Exp $ d59 2 a60 2 ;echo ${OBJCOPY} -O elf32-nbigmips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-nbigmips $@@ $@@.elf32 d66 2 a67 2 ;echo ${OBJCOPY} -O elf32-nlittlemips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-nlittlemips $@@ $@@.elf32 @ 1.55 log @Merge from matt-nb5-mips64 Merge mips-specific arch files. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.54 2009/02/15 01:58:01 cube Exp $ d70 1 a70 1 AFLAGS+= -mno-abicalls -x assembler-with-cpp -traditional-cpp ${AOPTS} @ 1.55.6.1 log @Sync with HEAD. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.58 2011/02/20 07:45:46 matt Exp $ d49 1 a49 1 CFLAGS+= ${GP} -mno-abicalls -msoft-float -ffixed-24 d59 2 a60 2 ;echo ${OBJCOPY} -O elf32-ntradbigmips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-ntradbigmips $@@ $@@.elf32 d66 2 a67 2 ;echo ${OBJCOPY} -O elf32-ntradlittlemips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-ntradlittlemips $@@ $@@.elf32 d70 1 a70 1 AFLAGS+= -mno-abicalls -x assembler-with-cpp ${AOPTS} d120 1 a120 1 lock_stubs.o mips32_subr.o mips3_subr.o: assym.h @ 1.55.4.1 log @sync with head @ text @d1 1 a1 1 # $NetBSD$ d49 1 a49 1 CFLAGS+= ${GP} -mno-abicalls -msoft-float -ffixed-24 d59 2 a60 2 ;echo ${OBJCOPY} -O elf32-ntradbigmips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-ntradbigmips $@@ $@@.elf32 d66 2 a67 2 ;echo ${OBJCOPY} -O elf32-ntradlittlemips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-ntradlittlemips $@@ $@@.elf32 d70 1 a70 1 AFLAGS+= -mno-abicalls -x assembler-with-cpp ${AOPTS} d120 1 a120 1 lock_stubs.o mips32_subr.o mips3_subr.o: assym.h @ 1.55.8.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.57 2011/02/01 06:18:40 matt Exp $ d59 2 a60 2 ;echo ${OBJCOPY} -O elf32-ntradbigmips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-ntradbigmips $@@ $@@.elf32 d66 2 a67 2 ;echo ${OBJCOPY} -O elf32-ntradlittlemips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-ntradlittlemips $@@ $@@.elf32 d70 1 a70 1 AFLAGS+= -mno-abicalls -x assembler-with-cpp ${AOPTS} @ 1.55.8.2 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD$ d49 1 a49 1 CFLAGS+= ${GP} -mno-abicalls -msoft-float -ffixed-24 d120 1 a120 1 lock_stubs.o mips32_subr.o mips3_subr.o: assym.h @ 1.54 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.53 2009/02/14 16:53:55 apb Exp $ d50 1 d52 2 a53 1 CFLAGS+= -msym32 d55 15 @ 1.53 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.52 2008/12/11 05:27:42 alc Exp $ d58 1 a58 2 OPT_MODULAR != ${TOOL_AWK} '/^\#define[ \t]MODULAR/ {x=$$3} END {print x}' \ opt_modular.h @ 1.52 log @Clean-up makefile stub used to include in the build the binary HAL object @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.51 2008/11/13 10:51:23 ad Exp $ d58 3 a60 1 .if !empty(IDENT:M-DMODULAR) @ 1.52.2.1 log @Sync with HEAD. Commit is split, to avoid a "too many arguments" protocol error. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.54 2009/02/15 01:58:01 cube Exp $ d58 1 a58 2 OPT_MODULAR= %MODULAR% .if !empty(OPT_MODULAR) @ 1.51 log @LKM -> MODULAR @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.50 2008/02/18 15:21:04 tsutsui Exp $ a124 3 ## Include rules for Atheros WLAN .include "$S/contrib/dev/ath/netbsd/Makefile.ath.inc" @ 1.50 log @Backout previous. vr_idle.S no longer depends on assym.h. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.49 2008/02/18 13:23:34 joerg Exp $ d58 1 a58 1 .if !empty(IDENT:M-DLKM) @ 1.50.24.1 log @Add support for building N64 kernels. This is done by adding makeoptions LP64="yes" to your config file. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.50 2008/02/18 15:21:04 tsutsui Exp $ a49 1 .if defined(LP64) && ${LP64} == "yes" d51 1 a51 2 CFLAGS+= -msym32 -mabi=64 AFLAGS+= -msym32 -mabi=64 a52 9 .if ${MACHINE_ARCH} == "mips64eb" LDFLAGS+= -m elf64btsmip LINKFLAGS+= -m elf64btsmip .endif .if ${MACHINE_ARCH} == "mips64el" LDFLAGS+= -m elf64ltsmip LINKFLAGS+= -m elf64ltsmip .endif .endif # LP64=yes @ 1.50.24.2 log @Use LINKFORMAT, not LINKFLAGS. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.50.24.1 2009/08/20 07:32:11 matt Exp $ d57 1 a57 1 LINKFORMAT+= -m elf64btsmip d61 1 a61 1 LINKFORMAT+= -m elf64ltsmip @ 1.50.24.3 log @When making a ELF64 kernel, use objcopy to make a ELF32 N32 version as well. The loader can't tell and this avoid requiring 64bit aware bootloaders. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.50.24.2 2009/08/21 17:34:09 matt Exp $ a57 3 SYSTEM_LD_TAIL_EXTRA+= \ ;echo ${OBJCOPY} -O elf32-nbigmips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-nbigmips $@@ $@@.elf32 a61 3 SYSTEM_LD_TAIL_EXTRA+= \ ;echo ${OBJCOPY} -O elf32-nlittlemips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-nlittlemips $@@ $@@.elf32 @ 1.50.24.4 log @Revamp pmap. Add exec page caching logic from powerpc oea pmap. Shrink struct vm_page by placing the first pv_entry in it. Remove pv_flags since nothing really needed it. Add pmap counters. Rework virtual cache alias logic. Allow pmap_copy_page and pmap_zero_page to deal with non-KSEG0 mappable pages. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.50.24.3 2009/09/16 03:22:03 matt Exp $ d66 2 a67 2 ;echo ${OBJCOPY} -O elf32-nlittlemips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-nlittlemips $@@ $@@.elf32 @ 1.50.24.5 log @Change MIPS_CURLWP from s7 to t8. In a MALTA64 kernel, s6 is used 9155 times which means the compiler could really use s7 is was free to do so. The least used temporary was t8 (288 times). Once the kernel was switched to use t8 for MIPS_CURLWP, s7 was used 7524 times. Additionally a MALTA32 kernel shrunk by 6205 instructions (24820 bytes) or about 1% of its text size. [For some reason, pre-change t1 was never used and post change t2 was never used. Not sure why.] @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.50.24.4 2010/01/26 21:19:25 matt Exp $ d49 1 a49 1 CFLAGS+= ${GP} -mno-abicalls -msoft-float -ffixed-24 @ 1.50.24.6 log @We use ntrad* and so make objcopy use them too. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.50.24.5 2010/01/30 23:49:31 matt Exp $ d59 2 a60 2 ;echo ${OBJCOPY} -O elf32-ntradbigmips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-ntradbigmips $@@ $@@.elf32 d66 2 a67 2 ;echo ${OBJCOPY} -O elf32-ntradlittlemips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-ntradlittlemips $@@ $@@.elf32 @ 1.50.24.7 log @sync with netbsd-5 @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.50.24.6 2010/02/14 21:50:38 matt Exp $ d142 3 @ 1.50.20.1 log @Pull up following revision(s) (requested by sborrill in ticket #905): sys/arch/alpha/conf/Makefile.alpha: revision 1.81 sys/arch/amd64/conf/Makefile.amd64: revision 1.26 sys/arch/i386/conf/Makefile.i386: revision 1.162 sys/arch/macppc/conf/Makefile.macppc: revision 1.31 sys/arch/mips/conf/Makefile.mips: revision 1.52 sys/arch/sparc64/conf/Makefile.sparc64: revision 1.68 sys/arch/xen/conf/Makefile.xen: revision 1.28 Clean-up makefile stub used to include in the build the binary HAL object @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.50 2008/02/18 15:21:04 tsutsui Exp $ d125 3 @ 1.50.10.1 log @sync with head. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.50 2008/02/18 15:21:04 tsutsui Exp $ d58 1 a58 2 OPT_MODULAR= %MODULAR% .if !empty(OPT_MODULAR) d125 3 @ 1.50.10.2 log @sync with head @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.50.10.1 2009/05/04 08:11:31 yamt Exp $ a49 1 .if defined(LP64) && ${LP64} == "yes" d51 1 a51 2 CFLAGS+= -msym32 -mabi=64 AFLAGS+= -msym32 -mabi=64 a52 15 .if ${MACHINE_ARCH} == "mips64eb" LDFLAGS+= -m elf64btsmip LINKFORMAT+= -m elf64btsmip SYSTEM_LD_TAIL_EXTRA+= \ ;echo ${OBJCOPY} -O elf32-nbigmips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-nbigmips $@@ $@@.elf32 .endif .if ${MACHINE_ARCH} == "mips64el" LDFLAGS+= -m elf64ltsmip LINKFORMAT+= -m elf64ltsmip SYSTEM_LD_TAIL_EXTRA+= \ ;echo ${OBJCOPY} -O elf32-nlittlemips $@@ $@@.elf32; \ ${OBJCOPY} -O elf32-nlittlemips $@@ $@@.elf32 .endif .endif # LP64=yes @ 1.50.18.1 log @Sync with HEAD. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.52 2008/12/11 05:27:42 alc Exp $ d58 1 a58 1 .if !empty(IDENT:M-DMODULAR) d125 3 @ 1.50.18.2 log @Sync with HEAD. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.50.18.1 2009/01/19 13:16:30 skrll Exp $ d58 1 a58 2 OPT_MODULAR= %MODULAR% .if !empty(OPT_MODULAR) @ 1.50.6.1 log @Sync with HEAD. @ text @d1 1 a1 1 # $NetBSD$ d58 1 a58 1 .if !empty(IDENT:M-DMODULAR) d125 3 @ 1.50.16.1 log @Update haad-dm branch to haad-dm-base2. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.52 2008/12/11 05:27:42 alc Exp $ d58 1 a58 1 .if !empty(IDENT:M-DMODULAR) d125 3 @ 1.49 log @Another assym.h dependency for hpcmips @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.48 2008/01/03 20:02:22 joerg Exp $ d103 1 a103 1 mips64_subr.o mipsX_subr.o sigcode.o vr_idle.o: assym.h @ 1.48 log @Missing assym.h dependency. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.47 2007/10/17 19:55:35 garbled Exp $ d103 1 a103 1 mips64_subr.o mipsX_subr.o sigcode.o: assym.h @ 1.47 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.44.20.2 2007/06/26 18:13:00 garbled Exp $ d101 3 a103 2 copy.o fp.o locore.o locore_mips1.o locore_mips3.o sigcode.o: assym.h mips32_subr.o mips3_subr.o mips5900_subr.o mips64_subr.o mipsX_subr.o: assym.h @ 1.47.2.1 log @Sync with HEAD. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.50 2008/02/18 15:21:04 tsutsui Exp $ d101 2 a102 3 copy.o fp.o locore.o locore_mips1.o locore_mips3.o: assym.h lock_stubs.o mips32_subr.o mips3_subr.o mips5900_subr.o: assym.h mips64_subr.o mipsX_subr.o sigcode.o: assym.h @ 1.47.8.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD$ d101 2 a102 3 copy.o fp.o locore.o locore_mips1.o locore_mips3.o: assym.h lock_stubs.o mips32_subr.o mips3_subr.o mips5900_subr.o: assym.h mips64_subr.o mipsX_subr.o sigcode.o: assym.h @ 1.46 log @Preserve local symbols on linking a kernel so that we can get more useful trace on ddb(4). @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.45 2007/05/17 14:51:22 yamt Exp $ @ 1.46.10.1 log @sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.47 2007/10/17 19:55:35 garbled Exp $ @ 1.46.10.2 log @sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.46.10.1 2007/11/06 23:18:57 matt Exp $ d101 2 a102 3 copy.o fp.o locore.o locore_mips1.o locore_mips3.o: assym.h lock_stubs.o mips32_subr.o mips3_subr.o mips5900_subr.o: assym.h mips64_subr.o mipsX_subr.o sigcode.o: assym.h @ 1.45 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.44 2006/08/27 21:44:15 matt Exp $ d87 2 a88 2 LINKFLAGS_NORMAL= -x STRIPFLAGS= -g -X -x @ 1.44 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.43 2006/08/27 18:40:33 matt Exp $ d44 2 d49 1 a49 1 CFLAGS+= ${GP} -mno-abicalls -msoft-float @ 1.44.22.1 log @Sync w/ NetBSD-4-RC_1 @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.44.6.1 2007/06/11 12:24:53 liamjfoy Exp $ d85 2 a86 2 LINKFLAGS_NORMAL= -X STRIPFLAGS= -g -X @ 1.44.14.1 log @Sync with head. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.46 2007/05/25 10:44:27 tsutsui Exp $ a43 2 ## Note: -ffixed-?? must be kept in sync with cpu.h. ## d47 1 a47 1 CFLAGS+= ${GP} -mno-abicalls -msoft-float -ffixed-23 d85 2 a86 2 LINKFLAGS_NORMAL= -X STRIPFLAGS= -g -X @ 1.44.6.1 log @Pull up following revision(s) (requested by tsutsui in ticket #715): sys/arch/mips/mips/trap.c: revision 1.212 sys/arch/sbmips/conf/GENERIC: revision 1.60 sys/arch/mips/conf/Makefile.mips: revision 1.46 Preserve local symbols on linking a kernel so that we can get more useful trace on ddb(4). Bump SYMTAB_SPACE so that it fits again. Use the kernel symbol table to see the beginning of the current subroutine to get more proper backtrace on ddb(4). In the previous code it scans backwards from the current PC for the end of the previous subroutine and checks "jr ra" or "jr k0" instructions, but it often fails because gcc is so aggressive nowadays as to reorder instruction blocks to create efficient code path by branch predict etc. and "jr ra" is not always located at the end of subroutines. No objection on port-mips. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.44 2006/08/27 21:44:15 matt Exp $ d85 2 a86 2 LINKFLAGS_NORMAL= -X STRIPFLAGS= -g -X @ 1.44.12.1 log @Sync with head. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.44 2006/08/27 21:44:15 matt Exp $ a43 2 ## Note: -ffixed-?? must be kept in sync with cpu.h. ## d47 1 a47 1 CFLAGS+= ${GP} -mno-abicalls -msoft-float -ffixed-23 d85 2 a86 2 LINKFLAGS_NORMAL= -X STRIPFLAGS= -g -X @ 1.44.20.1 log @Update to HEAD. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.45 2007/05/17 14:51:22 yamt Exp $ a43 2 ## Note: -ffixed-?? must be kept in sync with cpu.h. ## d47 1 a47 1 CFLAGS+= ${GP} -mno-abicalls -msoft-float -ffixed-23 @ 1.44.20.2 log @Sync with HEAD. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.46 2007/05/25 10:44:27 tsutsui Exp $ d87 2 a88 2 LINKFLAGS_NORMAL= -X STRIPFLAGS= -g -X @ 1.44.8.1 log @- Further adaptations to MIPS for the yamt-idlelwp branch. - Make curlwp a register variable on MIPS. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.44 2006/08/27 21:44:15 matt Exp $ a43 2 ## Note: -ffixed-?? must be kept in sync with cpu.h. ## d47 1 a47 1 CFLAGS+= ${GP} -mno-abicalls -msoft-float -ffixed-23 @ 1.43 log @Sign extend DEFTEXTADDR on MIPS64. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.42 2006/08/26 20:03:49 matt Exp $ d48 3 @ 1.42 log @Nuke unneeded LP64 conditional section @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.41 2006/04/04 04:30:28 gdamore Exp $ d73 3 d77 1 @ 1.41 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.40 2005/11/11 06:22:04 simonb Exp $ a49 9 LP64?=no .if ${LP64} == "yes" # 64-bit kernels CPPFLAGS+= -D_LP64 -mabi=64 AFLAGS+= -mabi=64 RANLIB= true LD+= -m elf64bmip .endif @ 1.40 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.39 2005/05/31 04:03:10 christos Exp $ d124 3 @ 1.40.6.1 log @sync with head @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.44 2006/08/27 21:44:15 matt Exp $ d48 9 a56 2 .if ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el" CFLAGS+= -msym32 a57 1 AFLAGS+= -mno-abicalls -x assembler-with-cpp -traditional-cpp ${AOPTS} a81 3 .if ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el" TEXTADDR?= ${DEFTEXTADDR:C/0x8/0xFFFFFFFF8/} .else a82 1 .endif a123 3 ## Include rules for Atheros WLAN .include "$S/contrib/dev/ath/netbsd/Makefile.ath.inc" @ 1.40.14.1 log @Merge 2006-05-24 NetBSD-current into the "peter-altq" branch. @ text @d1 1 a1 1 # $NetBSD$ a123 3 ## Include rules for Atheros WLAN .include "$S/contrib/dev/ath/netbsd/Makefile.ath.inc" @ 1.40.8.1 log @Sync with head. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.41 2006/04/04 04:30:28 gdamore Exp $ a123 3 ## Include rules for Atheros WLAN .include "$S/contrib/dev/ath/netbsd/Makefile.ath.inc" @ 1.40.12.1 log @sync with head - hopefully this will work @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.41 2006/04/04 04:30:28 gdamore Exp $ a123 3 ## Include rules for Atheros WLAN .include "$S/contrib/dev/ath/netbsd/Makefile.ath.inc" @ 1.40.10.1 log @sync with head @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.40 2005/11/11 06:22:04 simonb Exp $ a123 3 ## Include rules for Atheros WLAN .include "$S/contrib/dev/ath/netbsd/Makefile.ath.inc" @ 1.40.10.2 log @sync with head. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.40.10.1 2006/04/11 11:53:43 yamt Exp $ d48 9 a56 2 .if ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el" CFLAGS+= -msym32 a57 1 AFLAGS+= -mno-abicalls -x assembler-with-cpp -traditional-cpp ${AOPTS} a81 3 .if ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el" TEXTADDR?= ${DEFTEXTADDR:C/0x8/0xFFFFFFFF8/} .else a82 1 .endif @ 1.39 log @s/GENASSYM/GENASSYM_CONF/ so we can use "GENASSYM" as the program name. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.38 2004/10/01 07:00:12 sekiya Exp $ d62 3 @ 1.39.2.1 log @sync with head. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.39 2005/05/31 04:03:10 christos Exp $ a61 3 .if !empty(IDENT:M-DLKM) KERN_AS= obj .endif a120 3 ## Include rules for Atheros WLAN .include "$S/contrib/dev/ath/netbsd/Makefile.ath.inc" @ 1.39.2.2 log @sync with head. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.39.2.1 2006/06/21 14:53:38 yamt Exp $ d48 9 a56 2 .if ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el" CFLAGS+= -msym32 a57 1 AFLAGS+= -mno-abicalls -x assembler-with-cpp -traditional-cpp ${AOPTS} a81 3 .if ${MACHINE_ARCH} == "mips64eb" || ${MACHINE_ARCH} == "mips64el" TEXTADDR?= ${DEFTEXTADDR:C/0x8/0xFFFFFFFF8/} .else a82 1 .endif @ 1.39.2.3 log @sync with head. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.39.2.2 2006/12/30 20:46:32 yamt Exp $ a43 2 ## Note: -ffixed-?? must be kept in sync with cpu.h. ## d47 1 a47 1 CFLAGS+= ${GP} -mno-abicalls -msoft-float -ffixed-23 d85 2 a86 2 LINKFLAGS_NORMAL= -X STRIPFLAGS= -g -X @ 1.39.2.4 log @sync with head @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.39.2.3 2007/09/03 14:27:55 yamt Exp $ d101 2 a102 3 copy.o fp.o locore.o locore_mips1.o locore_mips3.o: assym.h lock_stubs.o mips32_subr.o mips3_subr.o mips5900_subr.o: assym.h mips64_subr.o mipsX_subr.o sigcode.o: assym.h @ 1.38 log @Set LP64 default to "no". @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.37 2004/10/01 06:46:40 sekiya Exp $ d38 1 a38 1 GENASSYM= ${MIPS}/mips/genassym.cf @ 1.37 log @Rework previous slightly, so that ld is passed the right flags for 64-bit mode. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.36 2004/09/29 06:03:03 sekiya Exp $ d50 1 @ 1.36 log @Allow arguments to as/ld to be specified in the kernel config file. Provide a mechanism to override ranlib. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.35 2004/06/04 04:45:50 thorpej Exp $ a23 9 # # Add arguments for the toolchain (necessary for elf64) # LD+=${LDOPTS} .if defined(RANLIB_OVERRIDE) RANLIB=true .endif d50 8 @ 1.35 log @Add the %MAKEOPTIONSAPPEND token at the end of the file, after the common Makefile.kern.inc has been included. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.34 2003/10/05 16:53:15 tsutsui Exp $ d24 9 d57 1 a57 1 AFLAGS+= -mno-abicalls -x assembler-with-cpp -traditional-cpp d83 1 a83 1 EXTRA_LINKFLAGS= ${GP} @ 1.34 log @Define ELF2ECOFF here for native build. (BTW, objcopy with OMAGIC kernel won't work on old pmax and sgimips machines?) @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.33 2003/07/04 03:48:01 simonb Exp $ d116 5 @ 1.34.4.1 log @Pull up patch (requested by martti in ticket #1086) Move ipf to sys/dist/ipf and sync w. trunk @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.34 2003/10/05 16:53:15 tsutsui Exp $ a115 5 ## ## (10) IPF source directory ## CPPFLAGS+= -I$S/dist/ipf @ 1.33 log @Add some dependancies on assym.h; helps "make -j N" kernel builds. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.32 2002/12/09 22:54:14 simonb Exp $ d23 6 @ 1.32 log @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. @ text @d1 1 a1 1 # $NetBSD$ d81 5 @ 1.32.6.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.35 2004/06/04 04:45:50 thorpej Exp $ a24 6 ## (0) toolchain settings for things that aren't part of the standard ## toolchain ## ELF2ECOFF?= elf2ecoff ## a81 5 # various assembly files that depend on assym.h copy.o fp.o locore.o locore_mips1.o locore_mips3.o sigcode.o: assym.h mips32_subr.o mips3_subr.o mips5900_subr.o mips64_subr.o mipsX_subr.o: assym.h a104 5 ## ## (10) Appending make options. ## %MAKEOPTIONSAPPEND @ 1.32.6.2 log @Sync with HEAD. @ text @@ 1.32.6.3 log @Fix the sync with head I botched. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.32.6.1 2004/08/03 10:37:38 skrll Exp $ @ 1.32.6.4 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.32.6.3 2004/09/21 13:18:38 skrll Exp $ d48 1 a48 10 AFLAGS+= -mno-abicalls -x assembler-with-cpp -traditional-cpp ${AOPTS} LP64?=no .if ${LP64} == "yes" # 64-bit kernels CPPFLAGS+= -D_LP64 -mabi=64 AFLAGS+= -mabi=64 RANLIB= true LD+= -m elf64bmip .endif d74 1 a74 1 EXTRA_LINKFLAGS= ${GP} ${LDOPTS} @ 1.32.6.5 log @Sync with HEAD. Here we go again... @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.32.6.4 2004/10/19 15:56:37 skrll Exp $ d38 1 a38 1 GENASSYM_CONF= ${MIPS}/mips/genassym.cf @ 1.32.6.6 log @Sync with head. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.40 2005/11/11 06:22:04 simonb Exp $ a61 3 .if !empty(IDENT:M-DLKM) KERN_AS= obj .endif @ 1.31 log @Build with kernel with -msoft-float. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.30 2002/11/09 18:18:22 thorpej Exp $ a26 9 .if ${MACHINE_ARCH} == "mipsel" ENDIAN=-EL .elif ${MACHINE_ARCH} == "mipseb" ENDIAN=-EB .else .BEGIN: @@echo "MACHINE_ARCH ${MACHINE_ARCH} is invalid" @@false .endif d41 2 a42 2 CFLAGS+= ${ENDIAN} ${GP} -mno-abicalls -msoft-float AFLAGS+= ${ENDIAN} -mno-abicalls -x assembler-with-cpp -traditional-cpp d64 2 a65 2 TEXTADDR?= ${DEFTEXTADDR} KERNLDSCRIPT?= ${MIPS}/conf/kern.ldscript d67 2 a68 7 LINKFORMAT+= -T ${KERNLDSCRIPT} EXTRA_LINKFLAGS= ${ENDIAN} ${GP} .if (${ENDIAN} == "-EB") EXTRA_LINKFLAGS+= --oformat elf32-bigmips .else EXTRA_LINKFLAGS+= --oformat elf32-littlemips .endif d70 1 a70 1 STRIPFLAGS= -g -X -x @ 1.30 log @* Add -mno-abicalls to AFLAGS. * GCC 3.3's traditional preprocessor functions properly now, so we no longer need to special-case it. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.29 2002/11/09 18:12:09 thorpej Exp $ d50 1 a50 1 CFLAGS+= ${ENDIAN} ${GP} -mno-abicalls @ 1.29 log @Nuke the CROSSDIR stuff. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.28 2002/11/09 07:31:08 thorpej Exp $ d51 1 a51 5 .if defined(HAVE_GCC3) AFLAGS+= ${ENDIAN} -x assembler-with-cpp .else AFLAGS+= ${ENDIAN} -x assembler-with-cpp -traditional-cpp .endif @ 1.28 log @No need to pass -mno-half-pic; NetBSD's compiler does not generate half-pic references. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.27 2002/06/04 21:39:11 thorpej Exp $ a22 11 AR?= ${CROSSDIR}ar AS?= ${CROSSDIR}as CC?= ${CROSSDIR}cc LD?= ${CROSSDIR}ld NM?= ${CROSSDIR}nm RANLIB?= ${CROSSDIR}ranlib SIZE?= ${CROSSDIR}size STRIP?= ${CROSSDIR}strip TSORT?= ${CROSSDIR}tsort -q OBJCOPY?= ${CROSSDIR}objcopy @ 1.27 log @Don't use -traditional-cpp if HAVE_GCC3. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.26 2002/03/05 14:28:31 simonb Exp $ d61 1 a61 1 CFLAGS+= ${ENDIAN} ${GP} -mno-abicalls -mno-half-pic @ 1.26 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.25 2001/12/09 05:00:46 atatat Exp $ d62 3 d66 1 @ 1.26.8.1 log @Pull up revision 1.31 (via patch) (requested by thorpej in ticket #976): Build with kernel with -msoft-float. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.26 2002/03/05 14:28:31 simonb Exp $ d61 1 a61 1 CFLAGS+= ${ENDIAN} ${GP} -mno-abicalls -mno-half-pic -msoft-float @ 1.26.6.1 log @catch up with -current. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.27 2002/06/04 21:39:11 thorpej Exp $ a61 3 .if defined(HAVE_GCC3) AFLAGS+= ${ENDIAN} -x assembler-with-cpp .else a62 1 .endif @ 1.25 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.24 2001/10/26 08:25:54 shin Exp $ a79 33 .if !empty(IDENT:M-DMIPS1) MD_OBJS+= locore_mips1.o MD_SFILES+= ${MIPS}/mips/locore_mips1.S locore_mips1.o: ${MIPS}/mips/locore_mips1.S assym.h ${NORMAL_S} .endif .if !empty(IDENT:M-DMIPS3) MD_OBJS+= locore_mips3.o MD_SFILES+= ${MIPS}/mips/locore_mips3.S locore_mips3.o: ${MIPS}/mips/locore_mips3.S assym.h ${NORMAL_S} .endif .if !empty(IDENT:M-DMIPS3_5900) MD_OBJS+= locore_r5900.o MD_SFILES+= ${MIPS}/mips/r5900/locore_r5900.S locore_r5900.o: ${MIPS}/mips/r5900/locore_r5900.S assym.h ${NORMAL_S} MD_OBJS+= r5900_machdep.o MD_CFILES+= ${MIPS}/mips/r5900/r5900_machdep.c r5900_machdep.o: ${MIPS}/mips/r5900/r5900_machdep.c ${NORMAL_C} .endif .if empty(IDENT:M-DNOFPU) MD_OBJS+= fp.o MD_SFILES+= ${MIPS}/mips/fp.S fp.o: ${MIPS}/mips/fp.S assym.h ${NORMAL_S} .endif @ 1.24 log @remove " in assignment of ENDIAN. fixes mipseb link breakage. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.23 2001/10/26 06:45:37 jmc Exp $ d14 5 d21 1 a21 1 a23 13 .if ${MACHINE_ARCH} == "mipsel" ENDIAN=-EL .elif ${MACHINE_ARCH} == "mipseb" ENDIAN=-EB .else .BEGIN: @@echo "MACHINE_ARCH ${MACHINE_ARCH} is invalid" @@false .endif # DEBUG is set to -g if debugging. # PROF is set to -pg if profiling. a26 1 CPP?= cpp a27 2 LORDER?= lorder MKDEP?= mkdep d35 12 a46 7 DEFCOPTS?= -O2 COPTS?= ${DEFCOPTS} DEFGP?= -G 0 TEXTADDR?= ${DEFTEXTADDR} # source tree is located via $S relative to the compilation directory d48 1 a48 1 S= ../../../.. d52 2 d55 5 a59 12 HAVE_EGCS!= ${CC} --version | egrep "^(2\.[89]|egcs)" ; echo INCLUDES= -I. -I$S/arch -I$S -nostdinc CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D_KERNEL_OPT \ -D${MACHINE} CWARNFLAGS?= -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes \ -Wpointer-arith # XXX Delete -Wuninitialized for now, since the compiler doesn't # XXX always get it right. --thorpej CWARNFLAGS+= -Wno-uninitialized .if (${HAVE_EGCS} != "") CWARNFLAGS+= -Wno-main .endif d61 2 a62 12 CFLAGS= ${ENDIAN} ${DEBUG} ${COPTS} ${CWARNFLAGS} ${GP} \ -mno-abicalls -mno-half-pic AFLAGS= ${ENDIAN} -x assembler-with-cpp -traditional-cpp -D_LOCORE LD+= ${ENDIAN} KERNLDSCRIPT?= ${MIPS}/conf/kern.ldscript LINKFLAGS+= -Ttext ${TEXTADDR} -e start ${GP} -T ${KERNLDSCRIPT} .if (${ENDIAN} == "-EB") LINKFLAGS+= --oformat elf32-bigmips .else LINKFLAGS+= --oformat elf32-littlemips .endif STRIPFLAGS= -g -X -x d64 10 a73 1 .-include "${THISMIPS}/conf/Makefile.${MACHINE}.inc" d75 2 a76 1 %INCLUDES d78 2 a79 7 ### find out what to use for libkern .include "$S/lib/libkern/Makefile.inc" .ifndef PROF LIBKERN= ${KERNLIB} .else LIBKERN= ${KERNLIB_PROF} .endif d81 5 a85 6 ### find out what to use for libcompat .include "$S/compat/common/Makefile.inc" .ifndef PROF LIBCOMPAT= ${COMPATLIB} .else LIBCOMPAT= ${COMPATLIB_PROF} a87 22 # compile rules: rules are named ${TYPE}_${SUFFIX} where TYPE is NORMAL or # HOSTED}, and SUFFIX is the file suffix, capitalized (e.g. C for a .c file). NORMAL_C= ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c $< NOPROF_C= ${CC} ${CFLAGS} ${CPPFLAGS} -c $< NORMAL_S= ${CC} ${AFLAGS} ${CPPFLAGS} -c $< %OBJS %CFILES %SFILES # load lines for config "xxx" will be emitted as: # xxx: ${SYSTEM_DEP} swapxxx.o # ${SYSTEM_LD_HEAD} # ${SYSTEM_LD} swapxxx.o # ${SYSTEM_LD_TAIL} SYSTEM_OBJ= locore.o locore_machdep.o .if !empty(IDENT:M-DMIPS1) SYSTEM_OBJ+= locore_mips1.o .endif d89 4 a92 1 SYSTEM_OBJ+= locore_mips3.o d94 1 d96 4 a99 27 SYSTEM_OBJ+= locore_r5900.o r5900_machdep.o .endif .if empty(IDENT:M-DNOFPU) SYSTEM_OBJ+= fp.o .endif SYSTEM_OBJ+= param.o ioconf.o ${OBJS} ${LIBKERN} ${LIBCOMPAT} SYSTEM_DEP= Makefile ${SYSTEM_OBJ} SYSTEM_LD_HEAD?=@@rm -f $@@ SYSTEM_LD?= @@echo ${LD} ${LINKFLAGS} -o $@@ '$${SYSTEM_OBJ}' vers.o ; \ ${LD} ${LINKFLAGS} -o $@@ ${SYSTEM_OBJ} vers.o SYSTEM_LD_TAIL?= \ @@${SIZE} $@@; chmod 755 $@@ DEBUG?= .if ${DEBUG} == "-g" LINKFLAGS+= -X .ifdef DEBUG_SYSTEM_LD_TAIL SYSTEM_LD_TAIL+=${DEBUG_SYSTEM_LD_TAIL} .else SYSTEM_LD_TAIL+=; \ echo mv -f $@@ $@@.gdb; mv -f $@@ $@@.gdb; \ echo ${STRIP} ${STRIPFLAGS} -o $@@ $@@.gdb; \ ${STRIP} ${STRIPFLAGS} -o $@@ $@@.gdb .endif .else LINKFLAGS+= -x .endif d101 4 a104 2 .ifdef POST_STRIP_SYSTEM_LD_TAIL SYSTEM_LD_TAIL+=${POST_STRIP_SYSTEM_LD_TAIL} a106 60 %LOAD assym.h: $S/kern/genassym.sh ${MIPS}/mips/genassym.cf sh $S/kern/genassym.sh ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} \ < ${MIPS}/mips/genassym.cf > assym.h.tmp && \ mv -f assym.h.tmp assym.h param.c: $S/conf/param.c rm -f param.c cp $S/conf/param.c . param.o: param.c Makefile ${NORMAL_C} ioconf.o: ioconf.c ${NORMAL_C} newvers: ${SYSTEM_DEP} ${SYSTEM_SWAP_DEP} sh $S/conf/newvers.sh ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c __CLEANKERNEL: .USE @@echo "${.TARGET}ing the kernel objects" rm -f eddep *netbsd netbsd.ecoff netbsd.gdb tags *.[io] \ [a-z]*.s [Ee]rrs linterrs makelinks assym.h.tmp assym.h __CLEANDEPEND: .USE rm -f .depend clean: __CLEANKERNEL cleandir distclean: __CLEANKERNEL __CLEANDEPEND lint: @@lint -hbxncez -Dvolatile= ${CPPFLAGS} -UKGDB \ ${MIPS}/mips/Locore.c ${CFILES} \ ioconf.c param.c | \ grep -v 'static function .* unused' tags: @@echo "see $S/kern/Makefile for tags" links: egrep '#if' ${CFILES} | sed -f $S/conf/defines | \ sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ sort -u | comm -23 - dontlink | \ sed 's,../.*/\(.*.o\),rm -f \1; ln -s ../GENERIC/\1 \1,' > makelinks sh makelinks && rm -f dontlink .if !empty(IDENT:M-DMIPS1) SFILES+=${MIPS}/mips/locore_mips1.S .endif .if !empty(IDENT:M-DMIPS3) SFILES+=${MIPS}/mips/locore_mips3.S .endif .if !empty(IDENT:M-DMIPS3_5900) SRCS+= ${MIPS}/mips/r5900/locore_r5900.S ${MIPS}/mips/r5900/r5900_machdep.c .endif d108 4 a111 1 SFILES+=${MIPS}/mips/fp.S a112 14 SFILES+=${MIPS}/mips/locore.S \ ${THISMIPS}/${MACHINE}/locore_machdep.S SRCS= param.c ioconf.c ${CFILES} ${SFILES} depend: .depend .depend: ${SRCS} assym.h param.c ${MKDEP} -a ${CFLAGS} ${CPPFLAGS} param.c ioconf.c ${CFILES} ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${SFILES} sh $S/kern/genassym.sh ${MKDEP} -f assym.dep ${CFLAGS} \ ${CPPFLAGS} < ${MIPS}/mips/genassym.cf @@sed -e 's/.*\.o:.*\.c /assym.h: /' < assym.dep >> .depend @@rm -f assym.dep dependall: depend all d114 15 d130 3 a132 8 # depend on root or device configuration autoconf.o conf.o: Makefile # depend on network or filesystem configuration uipc_proto.o vfs_conf.o: Makefile # depend on maxusers machdep.o: Makefile d140 8 a147 2 locore.o: ${MIPS}/mips/locore.S assym.h ${NORMAL_S} d149 1 a149 2 locore_mips1.o: ${MIPS}/mips/locore_mips1.S assym.h ${NORMAL_S} d151 1 a151 2 locore_mips3.o: ${MIPS}/mips/locore_mips3.S assym.h ${NORMAL_S} d153 1 a153 2 locore_r5900.o: ${MIPS}/mips/r5900/locore_r5900.S assym.h ${NORMAL_S} d155 1 a155 2 r5900_machdep.o: ${MIPS}/mips/r5900/r5900_machdep.c ${NORMAL_C} d157 1 a157 7 .if empty(IDENT:M-DNOFPU) fp.o: ${MIPS}/mips/fp.S assym.h ${NORMAL_S} .endif locore_machdep.o: ${THISMIPS}/${MACHINE}/locore_machdep.S assym.h ${NORMAL_S} d159 4 a162 13 # The install target can be redefined by putting a # install-kernel-${MACHINE_NAME} target into /etc/mk.conf MACHINE_NAME!= uname -n install: install-kernel-${MACHINE_NAME} .if !target(install-kernel-${MACHINE_NAME}}) install-kernel-${MACHINE_NAME}: rm -f /onetbsd ln /netbsd /onetbsd cp netbsd /nnetbsd mv /nnetbsd /netbsd .endif %RULES @ 1.24.2.1 log @file Makefile.mips was added on branch nathanw_sa on 2002-01-08 00:26:15 +0000 @ text @d1 292 @ 1.24.2.2 log @Catch up to -current. @ text @a0 161 # $NetBSD: Makefile.mips,v 1.24.2.1 2002/01/08 00:26:15 nathanw Exp $ # Makefile for NetBSD # # This makefile is constructed from a machine description: # config machineid # Most changes should be made in the machine description # /sys/arch//conf/``machineid'' # after which you should do # config machineid # Machine generic makefile changes should be made in # /sys/arch/mips/conf/Makefile.mips # after which config should be rerun for all machines of that type. # # To specify debugging, add the config line: makeoptions DEBUG="-g" # A better way is to specify -g only for a few files. # # makeoptions DEBUGLIST="uvm* trap if_*" USETOOLS?= no NEED_OWN_INSTALL_TARGET?=no .include AR?= ${CROSSDIR}ar AS?= ${CROSSDIR}as CC?= ${CROSSDIR}cc LD?= ${CROSSDIR}ld NM?= ${CROSSDIR}nm RANLIB?= ${CROSSDIR}ranlib SIZE?= ${CROSSDIR}size STRIP?= ${CROSSDIR}strip TSORT?= ${CROSSDIR}tsort -q OBJCOPY?= ${CROSSDIR}objcopy ## ## (1) port identification ## .if ${MACHINE_ARCH} == "mipsel" ENDIAN=-EL .elif ${MACHINE_ARCH} == "mipseb" ENDIAN=-EB .else .BEGIN: @@echo "MACHINE_ARCH ${MACHINE_ARCH} is invalid" @@false .endif .ifndef S S= ../../../.. .endif THISMIPS= $S/arch/${MACHINE} MIPS= $S/arch/mips GENASSYM= ${MIPS}/mips/genassym.cf .-include "${THISMIPS}/conf/Makefile.${MACHINE}.inc" ## ## (2) compile settings ## CPPFLAGS+= -D${MACHINE} DEFGP?= -G 0 GP?= ${DEFGP} CFLAGS+= ${ENDIAN} ${GP} -mno-abicalls -mno-half-pic AFLAGS+= ${ENDIAN} -x assembler-with-cpp -traditional-cpp ## ## (3) libkern and compat ## ## ## (4) local objects, compile rules, and dependencies ## MD_OBJS= locore.o locore_machdep.o MD_CFILES= MD_SFILES= ${MIPS}/mips/locore.S ${THISMIPS}/${MACHINE}/locore_machdep.S locore.o: ${MIPS}/mips/locore.S assym.h ${NORMAL_S} locore_machdep.o: ${THISMIPS}/${MACHINE}/locore_machdep.S assym.h ${NORMAL_S} .if !empty(IDENT:M-DMIPS1) MD_OBJS+= locore_mips1.o MD_SFILES+= ${MIPS}/mips/locore_mips1.S locore_mips1.o: ${MIPS}/mips/locore_mips1.S assym.h ${NORMAL_S} .endif .if !empty(IDENT:M-DMIPS3) MD_OBJS+= locore_mips3.o MD_SFILES+= ${MIPS}/mips/locore_mips3.S locore_mips3.o: ${MIPS}/mips/locore_mips3.S assym.h ${NORMAL_S} .endif .if !empty(IDENT:M-DMIPS3_5900) MD_OBJS+= locore_r5900.o MD_SFILES+= ${MIPS}/mips/r5900/locore_r5900.S locore_r5900.o: ${MIPS}/mips/r5900/locore_r5900.S assym.h ${NORMAL_S} MD_OBJS+= r5900_machdep.o MD_CFILES+= ${MIPS}/mips/r5900/r5900_machdep.c r5900_machdep.o: ${MIPS}/mips/r5900/r5900_machdep.c ${NORMAL_C} .endif .if empty(IDENT:M-DNOFPU) MD_OBJS+= fp.o MD_SFILES+= ${MIPS}/mips/fp.S fp.o: ${MIPS}/mips/fp.S assym.h ${NORMAL_S} .endif ## ## (5) link settings ## TEXTADDR?= ${DEFTEXTADDR} KERNLDSCRIPT?= ${MIPS}/conf/kern.ldscript # some mips ports specify a "magic" format LINKFORMAT+= -T ${KERNLDSCRIPT} EXTRA_LINKFLAGS= ${ENDIAN} ${GP} .if (${ENDIAN} == "-EB") EXTRA_LINKFLAGS+= --oformat elf32-bigmips .else EXTRA_LINKFLAGS+= --oformat elf32-littlemips .endif LINKFLAGS_NORMAL= -x STRIPFLAGS= -g -X -x ## ## (6) port specific target dependencies ## # depend on CPU configuration machdep.o mainbus.o trap.o: Makefile # depend on System V IPC/shmem options mips_machdep.o pmap.o: Makefile ## ## (7) misc settings ## ## ## (8) config(8) generated machinery ## %INCLUDES %OBJS %CFILES %SFILES %LOAD %RULES ## ## (9) port independent kernel machinery ## .include "$S/conf/Makefile.kern.inc" @ 1.24.2.3 log @Catch up to -current. (CVS: It's not just a program. It's an adventure!) @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.24.2.2 2002/04/01 07:40:56 nathanw Exp $ d81 32 @ 1.24.2.4 log @Catch up to -current. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.24.2.3 2002/06/20 03:39:43 nathanw Exp $ a61 3 .if defined(HAVE_GCC3) AFLAGS+= ${ENDIAN} -x assembler-with-cpp .else a62 1 .endif @ 1.24.2.5 log @Catch up to -current @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.24.2.4 2002/11/11 22:00:23 nathanw Exp $ d24 11 d61 6 a66 2 CFLAGS+= ${ENDIAN} ${GP} -mno-abicalls -msoft-float AFLAGS+= ${ENDIAN} -mno-abicalls -x assembler-with-cpp -traditional-cpp @ 1.24.2.6 log @Sync with HEAD. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.24.2.5 2002/12/11 06:10:57 thorpej Exp $ d27 9 d50 2 a51 2 CFLAGS+= ${GP} -mno-abicalls -msoft-float AFLAGS+= -mno-abicalls -x assembler-with-cpp -traditional-cpp d73 2 a74 2 TEXTADDR?= ${DEFTEXTADDR} KERNLDSCRIPT?= ${MIPS}/conf/kern.ldscript d76 7 a82 2 LINKFORMAT+= -T ${KERNLDSCRIPT} EXTRA_LINKFLAGS= ${GP} d84 1 a84 1 STRIPFLAGS= -g -X -x @ 1.23 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.22 2001/10/23 20:40:02 thorpej Exp $ d20 1 a20 1 ENDIAN="-EL" d22 1 a22 1 ENDIAN="-EB" @ 1.22 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.21 2001/10/23 18:57:32 thorpej Exp $ d14 2 @ 1.22.2.1 log @sync with trunk. fixes mipseb link error. @ text @d1 1 a1 1 # $NetBSD$ d18 1 a18 1 ENDIAN=-EL d20 1 a20 1 ENDIAN=-EB @ 1.22.2.2 log @Sync the thorpej-mips-cache branch with -current. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.22.2.1 2001/11/07 01:13:05 shin Exp $ a13 2 USETOOLS?= no @ 1.21 log @Use MACHINE, not TARGET_MACHINE. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.20 2001/10/16 16:31:32 uch Exp $ d16 10 @ 1.20 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.19 2001/10/08 10:14:20 simonb Exp $ d44 1 a44 1 THISMIPS= $S/arch/${TARGET_MACHINE} d50 1 a50 1 -D${TARGET_MACHINE} d73 1 a73 1 .-include "${THISMIPS}/conf/Makefile.${TARGET_MACHINE}.inc" d215 1 a215 1 ${THISMIPS}/${TARGET_MACHINE}/locore_machdep.S d265 1 a265 1 locore_machdep.o: ${THISMIPS}/${TARGET_MACHINE}/locore_machdep.S assym.h @ 1.19 log @Use a separate variable (${KERNLDSCRIPT}) for the name of the kernel ld script, so it can be used in other places. @ text @d1 1 a1 1 # $NetBSD$ d118 3 d208 3 d253 6 @ 1.18 log @Use ".-include" instead of the ".if exists(...) ..." dance. @ text @d64 2 a65 1 LINKFLAGS+= -Ttext ${TEXTADDR} -e start ${GP} -T ${MIPS}/conf/kern.ldscript @ 1.17 log @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. @ text @d72 1 a72 3 .if exists(${THISMIPS}/conf/Makefile.${TARGET_MACHINE}.inc) .include "${THISMIPS}/conf/Makefile.${TARGET_MACHINE}.inc" .endif @ 1.16 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.15 2001/07/15 06:38:07 takemura Exp $ d49 2 a50 1 CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D_KERNEL_OPT -D${TARGET_MACHINE} d60 1 a60 1 CFLAGS= ${DEBUG} ${COPTS} ${CWARNFLAGS} ${GP} \ d62 3 a64 2 AFLAGS= -x assembler-with-cpp -traditional-cpp -D_LOCORE LINKFLAGS+= -Ttext ${TEXTADDR} -e start ${GP} d66 1 a66 4 LINKFLAGS+= -T ${MIPS}/conf/kern.ldscript.be CFLAGS+= -EB AFLAGS+= -EB LD+= -EB d68 1 a68 4 LINKFLAGS+= -T ${MIPS}/conf/kern.ldscript.le CFLAGS+= -EL AFLAGS+= -EL LD+= -EL @ 1.16.2.1 log @Catch up with -current. Fix some bogons in the sparc64 kbd/ms attach code. cd18xx conversion provided by mrg. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.16 2001/07/19 01:46:15 oster Exp $ d49 1 a49 2 CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D_KERNEL_OPT \ -D${TARGET_MACHINE} d59 1 a59 1 CFLAGS= ${ENDIAN} ${DEBUG} ${COPTS} ${CWARNFLAGS} ${GP} \ d61 2 a62 4 AFLAGS= ${ENDIAN} -x assembler-with-cpp -traditional-cpp -D_LOCORE LD+= ${ENDIAN} KERNLDSCRIPT?= ${MIPS}/conf/kern.ldscript LINKFLAGS+= -Ttext ${TEXTADDR} -e start ${GP} -T ${KERNLDSCRIPT} d64 4 a67 1 LINKFLAGS+= --oformat elf32-bigmips d69 4 a72 1 LINKFLAGS+= --oformat elf32-littlemips d76 3 a78 1 .-include "${THISMIPS}/conf/Makefile.${TARGET_MACHINE}.inc" @ 1.15 log @Suppress warning message: warning: duplicate script for target "fp.o" ignored And delete verbose ifs. @ text @d1 1 a1 1 # $NetBSD$ d223 1 a223 1 @@sed -e 's/.*\.o:.*\.c/assym.h:/' < assym.dep >> .depend @ 1.14 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.13 2001/05/23 02:35:40 hubertf Exp $ a203 3 SRCS= ${MIPS}/mips/locore.S \ ${THISMIPS}/${TARGET_MACHINE}/locore_machdep.S \ param.c ioconf.c ${CFILES} ${SFILES} d205 1 a205 1 SRCS+= ${MIPS}/mips/locore_mips1.S d208 1 a208 1 SRCS+= ${MIPS}/mips/locore_mips3.S d211 1 a211 1 SRCS+= ${MIPS}/mips/fp.S d213 3 a218 11 ${MKDEP} ${AFLAGS} ${CPPFLAGS} ${MIPS}/mips/locore.S .if !empty(IDENT:M-DMIPS1) ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${MIPS}/mips/locore_mips1.S .endif .if !empty(IDENT:M-DMIPS3) ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${MIPS}/mips/locore_mips3.S .endif .if empty(IDENT:M-DNOFPU) ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${MIPS}/mips/fp.S .endif ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${THISMIPS}/${TARGET_MACHINE}/locore_machdep.S a219 1 .if (${SFILES} != "") a220 1 .endif d253 1 d256 1 @ 1.14.2.1 log @update to -current @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.14 2001/05/29 02:20:24 mrg Exp $ d204 3 d208 1 a208 1 SFILES+=${MIPS}/mips/locore_mips1.S d211 1 a211 1 SFILES+=${MIPS}/mips/locore_mips3.S d214 1 a214 1 SFILES+=${MIPS}/mips/fp.S a215 3 SFILES+=${MIPS}/mips/locore.S \ ${THISMIPS}/${TARGET_MACHINE}/locore_machdep.S SRCS= param.c ioconf.c ${CFILES} ${SFILES} d219 11 d231 1 d233 1 d236 1 a236 1 @@sed -e 's/.*\.o:.*\.c /assym.h: /' < assym.dep >> .depend a265 1 .if empty(IDENT:M-DNOFPU) a267 1 .endif @ 1.14.2.2 log @Sync kqueue branch with -current. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.14.2.1 2001/08/03 04:11:58 lukem Exp $ a13 5 # # To specify debugging, add the config line: makeoptions DEBUG="-g" # A better way is to specify -g only for a few files. # # makeoptions DEBUGLIST="uvm* trap if_*" a14 2 USETOOLS?= no NEED_OWN_INSTALL_TARGET?=no d17 3 d23 1 d25 2 d34 7 a40 12 ## ## (1) port identification ## .if ${MACHINE_ARCH} == "mipsel" ENDIAN=-EL .elif ${MACHINE_ARCH} == "mipseb" ENDIAN=-EB .else .BEGIN: @@echo "MACHINE_ARCH ${MACHINE_ARCH} is invalid" @@false .endif d42 1 a42 1 S= ../../../.. d44 1 a44 1 THISMIPS= $S/arch/${MACHINE} a45 2 GENASSYM= ${MIPS}/mips/genassym.cf .-include "${THISMIPS}/conf/Makefile.${MACHINE}.inc" d47 11 a57 5 ## ## (2) compile settings ## CPPFLAGS+= -D${MACHINE} DEFGP?= -G 0 d59 30 a88 2 CFLAGS+= ${ENDIAN} ${GP} -mno-abicalls -mno-half-pic AFLAGS+= ${ENDIAN} -x assembler-with-cpp -traditional-cpp d90 16 a105 10 ## ## (3) libkern and compat ## ## ## (4) local objects, compile rules, and dependencies ## MD_OBJS= locore.o locore_machdep.o MD_CFILES= MD_SFILES= ${MIPS}/mips/locore.S ${THISMIPS}/${MACHINE}/locore_machdep.S d107 1 a107 2 locore.o: ${MIPS}/mips/locore.S assym.h ${NORMAL_S} d109 1 a109 2 locore_machdep.o: ${THISMIPS}/${MACHINE}/locore_machdep.S assym.h ${NORMAL_S} d111 6 d118 29 a146 4 MD_OBJS+= locore_mips1.o MD_SFILES+= ${MIPS}/mips/locore_mips1.S locore_mips1.o: ${MIPS}/mips/locore_mips1.S assym.h ${NORMAL_S} d149 2 a150 5 .if !empty(IDENT:M-DMIPS3) MD_OBJS+= locore_mips3.o MD_SFILES+= ${MIPS}/mips/locore_mips3.S locore_mips3.o: ${MIPS}/mips/locore_mips3.S assym.h ${NORMAL_S} d153 14 a166 5 .if !empty(IDENT:M-DMIPS3_5900) MD_OBJS+= locore_r5900.o MD_SFILES+= ${MIPS}/mips/r5900/locore_r5900.S locore_r5900.o: ${MIPS}/mips/r5900/locore_r5900.S assym.h ${NORMAL_S} d168 1 a168 3 MD_OBJS+= r5900_machdep.o MD_CFILES+= ${MIPS}/mips/r5900/r5900_machdep.c r5900_machdep.o: ${MIPS}/mips/r5900/r5900_machdep.c d170 39 a209 1 d211 1 a211 4 MD_OBJS+= fp.o MD_SFILES+= ${MIPS}/mips/fp.S fp.o: ${MIPS}/mips/fp.S assym.h ${NORMAL_S} d213 14 a227 15 ## ## (5) link settings ## TEXTADDR?= ${DEFTEXTADDR} KERNLDSCRIPT?= ${MIPS}/conf/kern.ldscript # some mips ports specify a "magic" format LINKFORMAT+= -T ${KERNLDSCRIPT} EXTRA_LINKFLAGS= ${ENDIAN} ${GP} .if (${ENDIAN} == "-EB") EXTRA_LINKFLAGS+= --oformat elf32-bigmips .else EXTRA_LINKFLAGS+= --oformat elf32-littlemips .endif LINKFLAGS_NORMAL= -x STRIPFLAGS= -g -X -x d229 8 a236 3 ## ## (6) port specific target dependencies ## d244 5 a248 8 ## ## (7) misc settings ## ## ## (8) config(8) generated machinery ## %INCLUDES d250 2 a251 1 %OBJS d253 4 a256 1 %CFILES d258 2 a259 1 %SFILES d261 11 a271 1 %LOAD a273 5 ## ## (9) port independent kernel machinery ## .include "$S/conf/Makefile.kern.inc" @ 1.14.2.3 log @Catch up with -current. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.14.2.2 2002/01/10 19:45:57 thorpej Exp $ d80 33 @ 1.14.2.4 log @catch up with -current on kqueue branch @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.14.2.3 2002/03/16 15:58:33 jdolecek Exp $ a61 3 .if defined(HAVE_GCC3) AFLAGS+= ${ENDIAN} -x assembler-with-cpp .else a62 1 .endif @ 1.13 log @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) @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.12 2001/03/28 17:03:48 tsutsui Exp $ d49 1 a49 1 CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D${TARGET_MACHINE} @ 1.12 log @Define ${OBJCOPY}. XXX: Should we use ${CROSSDIR} here or not? @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.11 2001/01/04 05:13:30 shin Exp $ d14 2 @ 1.11 log @- don't ignore DEFCOPTS (Makefile.mips). - DEFCOPTS of hpcmips is "-Os -mmemcpy" (std.hpcmips). @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.10 2000/12/17 15:52:42 jdolecek Exp $ d30 1 @ 1.11.2.1 log @Catch up with -current. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.12 2001/03/28 17:03:48 tsutsui Exp $ a29 1 OBJCOPY?= ${CROSSDIR}objcopy @ 1.11.2.2 log @Catch up to -current. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.11.2.1 2001/04/09 01:53:55 nathanw Exp $ a14 2 .include d47 1 a47 1 CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D_KERNEL_OPT -D${TARGET_MACHINE} @ 1.10 log @delete obsolete comment @ text @d1 1 a1 1 # $NetBSD$ d31 2 a32 1 COPTS?= -O2 @ 1.9 log @cpp/lorder/mkdep don't have cross specific versions. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.8 2000/12/03 07:55:12 matt Exp $ a13 6 # # N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE VISIBLE TO MAKEFILE # IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING # # -DTRACE compile in kernel tracing hooks # -DQUOTA compile in file system quotas @ 1.8 log @Add DEFGP/CROSSDIR for hpcmips. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.7 2000/12/03 07:44:43 matt Exp $ d27 1 a27 1 CPP?= ${CROSSDIR}cpp d29 2 a30 2 LORDER?= ${CROSSDIR}lorder MKDEP?= ${CROSSDIR}mkdep @ 1.8.2.1 log @file Makefile.mips was added on branch thorpej_scsipi on 2000-12-08 09:28:20 +0000 @ text @d1 286 @ 1.8.2.2 log @Sync with HEAD. @ text @a0 286 # $NetBSD: Makefile.mips,v 1.8.2.1 2000/12/08 09:28:20 bouyer Exp $ # Makefile for NetBSD # # This makefile is constructed from a machine description: # config machineid # Most changes should be made in the machine description # /sys/arch//conf/``machineid'' # after which you should do # config machineid # Machine generic makefile changes should be made in # /sys/arch/mips/conf/Makefile.mips # after which config should be rerun for all machines of that type. # # N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE VISIBLE TO MAKEFILE # IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING # # -DTRACE compile in kernel tracing hooks # -DQUOTA compile in file system quotas # DEBUG is set to -g if debugging. # PROF is set to -pg if profiling. AR?= ${CROSSDIR}ar AS?= ${CROSSDIR}as CC?= ${CROSSDIR}cc CPP?= ${CROSSDIR}cpp LD?= ${CROSSDIR}ld LORDER?= ${CROSSDIR}lorder MKDEP?= ${CROSSDIR}mkdep NM?= ${CROSSDIR}nm RANLIB?= ${CROSSDIR}ranlib SIZE?= ${CROSSDIR}size STRIP?= ${CROSSDIR}strip TSORT?= ${CROSSDIR}tsort -q COPTS?= -O2 DEFGP?= -G 0 TEXTADDR?= ${DEFTEXTADDR} # source tree is located via $S relative to the compilation directory .ifndef S S= ../../../.. .endif THISMIPS= $S/arch/${TARGET_MACHINE} MIPS= $S/arch/mips HAVE_EGCS!= ${CC} --version | egrep "^(2\.[89]|egcs)" ; echo INCLUDES= -I. -I$S/arch -I$S -nostdinc CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D${TARGET_MACHINE} CWARNFLAGS?= -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes \ -Wpointer-arith # XXX Delete -Wuninitialized for now, since the compiler doesn't # XXX always get it right. --thorpej CWARNFLAGS+= -Wno-uninitialized .if (${HAVE_EGCS} != "") CWARNFLAGS+= -Wno-main .endif GP?= ${DEFGP} CFLAGS= ${DEBUG} ${COPTS} ${CWARNFLAGS} ${GP} \ -mno-abicalls -mno-half-pic AFLAGS= -x assembler-with-cpp -traditional-cpp -D_LOCORE LINKFLAGS+= -Ttext ${TEXTADDR} -e start ${GP} .if (${ENDIAN} == "-EB") LINKFLAGS+= -T ${MIPS}/conf/kern.ldscript.be CFLAGS+= -EB AFLAGS+= -EB LD+= -EB .else LINKFLAGS+= -T ${MIPS}/conf/kern.ldscript.le CFLAGS+= -EL AFLAGS+= -EL LD+= -EL .endif STRIPFLAGS= -g -X -x .if exists(${THISMIPS}/conf/Makefile.${TARGET_MACHINE}.inc) .include "${THISMIPS}/conf/Makefile.${TARGET_MACHINE}.inc" .endif %INCLUDES ### find out what to use for libkern .include "$S/lib/libkern/Makefile.inc" .ifndef PROF LIBKERN= ${KERNLIB} .else LIBKERN= ${KERNLIB_PROF} .endif ### find out what to use for libcompat .include "$S/compat/common/Makefile.inc" .ifndef PROF LIBCOMPAT= ${COMPATLIB} .else LIBCOMPAT= ${COMPATLIB_PROF} .endif # compile rules: rules are named ${TYPE}_${SUFFIX} where TYPE is NORMAL or # HOSTED}, and SUFFIX is the file suffix, capitalized (e.g. C for a .c file). NORMAL_C= ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c $< NOPROF_C= ${CC} ${CFLAGS} ${CPPFLAGS} -c $< NORMAL_S= ${CC} ${AFLAGS} ${CPPFLAGS} -c $< %OBJS %CFILES %SFILES # load lines for config "xxx" will be emitted as: # xxx: ${SYSTEM_DEP} swapxxx.o # ${SYSTEM_LD_HEAD} # ${SYSTEM_LD} swapxxx.o # ${SYSTEM_LD_TAIL} SYSTEM_OBJ= locore.o locore_machdep.o .if !empty(IDENT:M-DMIPS1) SYSTEM_OBJ+= locore_mips1.o .endif .if !empty(IDENT:M-DMIPS3) SYSTEM_OBJ+= locore_mips3.o .endif .if empty(IDENT:M-DNOFPU) SYSTEM_OBJ+= fp.o .endif SYSTEM_OBJ+= param.o ioconf.o ${OBJS} ${LIBKERN} ${LIBCOMPAT} SYSTEM_DEP= Makefile ${SYSTEM_OBJ} SYSTEM_LD_HEAD?=@@rm -f $@@ SYSTEM_LD?= @@echo ${LD} ${LINKFLAGS} -o $@@ '$${SYSTEM_OBJ}' vers.o ; \ ${LD} ${LINKFLAGS} -o $@@ ${SYSTEM_OBJ} vers.o SYSTEM_LD_TAIL?= \ @@${SIZE} $@@; chmod 755 $@@ DEBUG?= .if ${DEBUG} == "-g" LINKFLAGS+= -X .ifdef DEBUG_SYSTEM_LD_TAIL SYSTEM_LD_TAIL+=${DEBUG_SYSTEM_LD_TAIL} .else SYSTEM_LD_TAIL+=; \ echo mv -f $@@ $@@.gdb; mv -f $@@ $@@.gdb; \ echo ${STRIP} ${STRIPFLAGS} -o $@@ $@@.gdb; \ ${STRIP} ${STRIPFLAGS} -o $@@ $@@.gdb .endif .else LINKFLAGS+= -x .endif .ifdef POST_STRIP_SYSTEM_LD_TAIL SYSTEM_LD_TAIL+=${POST_STRIP_SYSTEM_LD_TAIL} .endif %LOAD assym.h: $S/kern/genassym.sh ${MIPS}/mips/genassym.cf sh $S/kern/genassym.sh ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} \ < ${MIPS}/mips/genassym.cf > assym.h.tmp && \ mv -f assym.h.tmp assym.h param.c: $S/conf/param.c rm -f param.c cp $S/conf/param.c . param.o: param.c Makefile ${NORMAL_C} ioconf.o: ioconf.c ${NORMAL_C} newvers: ${SYSTEM_DEP} ${SYSTEM_SWAP_DEP} sh $S/conf/newvers.sh ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c __CLEANKERNEL: .USE @@echo "${.TARGET}ing the kernel objects" rm -f eddep *netbsd netbsd.ecoff netbsd.gdb tags *.[io] \ [a-z]*.s [Ee]rrs linterrs makelinks assym.h.tmp assym.h __CLEANDEPEND: .USE rm -f .depend clean: __CLEANKERNEL cleandir distclean: __CLEANKERNEL __CLEANDEPEND lint: @@lint -hbxncez -Dvolatile= ${CPPFLAGS} -UKGDB \ ${MIPS}/mips/Locore.c ${CFILES} \ ioconf.c param.c | \ grep -v 'static function .* unused' tags: @@echo "see $S/kern/Makefile for tags" links: egrep '#if' ${CFILES} | sed -f $S/conf/defines | \ sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ sort -u | comm -23 - dontlink | \ sed 's,../.*/\(.*.o\),rm -f \1; ln -s ../GENERIC/\1 \1,' > makelinks sh makelinks && rm -f dontlink SRCS= ${MIPS}/mips/locore.S \ ${THISMIPS}/${TARGET_MACHINE}/locore_machdep.S \ param.c ioconf.c ${CFILES} ${SFILES} .if !empty(IDENT:M-DMIPS1) SRCS+= ${MIPS}/mips/locore_mips1.S .endif .if !empty(IDENT:M-DMIPS3) SRCS+= ${MIPS}/mips/locore_mips3.S .endif .if empty(IDENT:M-DNOFPU) SRCS+= ${MIPS}/mips/fp.S .endif depend: .depend .depend: ${SRCS} assym.h param.c ${MKDEP} ${AFLAGS} ${CPPFLAGS} ${MIPS}/mips/locore.S .if !empty(IDENT:M-DMIPS1) ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${MIPS}/mips/locore_mips1.S .endif .if !empty(IDENT:M-DMIPS3) ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${MIPS}/mips/locore_mips3.S .endif .if empty(IDENT:M-DNOFPU) ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${MIPS}/mips/fp.S .endif ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${THISMIPS}/${TARGET_MACHINE}/locore_machdep.S ${MKDEP} -a ${CFLAGS} ${CPPFLAGS} param.c ioconf.c ${CFILES} .if (${SFILES} != "") ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${SFILES} .endif sh $S/kern/genassym.sh ${MKDEP} -f assym.dep ${CFLAGS} \ ${CPPFLAGS} < ${MIPS}/mips/genassym.cf @@sed -e 's/.*\.o:.*\.c/assym.h:/' < assym.dep >> .depend @@rm -f assym.dep dependall: depend all # depend on root or device configuration autoconf.o conf.o: Makefile # depend on network or filesystem configuration uipc_proto.o vfs_conf.o: Makefile # depend on maxusers machdep.o: Makefile # depend on CPU configuration machdep.o mainbus.o trap.o: Makefile # depend on System V IPC/shmem options mips_machdep.o pmap.o: Makefile locore.o: ${MIPS}/mips/locore.S assym.h ${NORMAL_S} locore_mips1.o: ${MIPS}/mips/locore_mips1.S assym.h ${NORMAL_S} locore_mips3.o: ${MIPS}/mips/locore_mips3.S assym.h ${NORMAL_S} fp.o: ${MIPS}/mips/fp.S assym.h ${NORMAL_S} locore_machdep.o: ${THISMIPS}/${TARGET_MACHINE}/locore_machdep.S assym.h ${NORMAL_S} # The install target can be redefined by putting a # install-kernel-${MACHINE_NAME} target into /etc/mk.conf MACHINE_NAME!= uname -n install: install-kernel-${MACHINE_NAME} .if !target(install-kernel-${MACHINE_NAME}}) install-kernel-${MACHINE_NAME}: rm -f /onetbsd ln /netbsd /onetbsd cp netbsd /nnetbsd mv /nnetbsd /netbsd .endif %RULES @ 1.8.2.3 log @Sync with HEAD (for UBC fixes). @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.8.2.2 2000/12/13 15:49:33 bouyer Exp $ d27 1 a27 1 CPP?= cpp d29 2 a30 2 LORDER?= lorder MKDEP?= mkdep @ 1.8.2.4 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.8.2.3 2001/01/05 17:34:42 bouyer Exp $ d14 6 d37 1 a37 2 DEFCOPTS?= -O2 COPTS?= ${DEFCOPTS} @ 1.8.2.5 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.8.2.4 2001/04/21 17:54:00 bouyer Exp $ a29 1 OBJCOPY?= ${CROSSDIR}objcopy @ 1.7 log @Remove redundant depend of fp.S @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.6 2000/12/03 07:21:50 matt Exp $ d24 12 a35 12 AR?= ar AS?= as CC?= cc CPP?= cpp LD?= ld LORDER?= lorder MKDEP?= mkdep NM?= nm RANLIB?= ranlib SIZE?= size STRIP?= strip TSORT?= tsort -q d39 1 d60 1 a60 1 GP?= -G 0 @ 1.6 log @Include FP support if NOFPU is *NOT* defined. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.5 2000/12/03 07:05:23 matt Exp $ d220 1 a220 1 ${MKDEP} ${AFLAGS} ${CPPFLAGS} ${MIPS}/mips/locore.S ${MIPS}/mips/fp.S @ 1.5 log @Revert back to a machinearch (really cputype) of mips. Put ENDIAN back. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.4 2000/12/03 06:04:50 matt Exp $ d124 1 a124 1 .if !empty(IDENT:M-DNOFPU) d214 1 a214 1 .if !empty(IDENT:M-DNOFPU) d227 1 a227 1 .if !empty(IDENT:M-DNOFPU) @ 1.4 log @Deal with lack of floating point on hpcmips, etc. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.3 2000/12/03 05:30:31 matt Exp $ d45 1 a45 1 THISMIPS= $S/arch/${MACHINE} d50 1 a50 1 CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D${MACHINE} d64 1 a64 1 .if (${MACHINE_ARCH} == "mipseb") d77 2 a78 2 .if exists(${THISMIPS}/conf/Makefile.${MACHINE}.inc) .include "${THISMIPS}/conf/Makefile.${MACHINE}.inc" d206 1 a206 1 ${THISMIPS}/${MACHINE}/locore_machdep.S \ d230 1 a230 1 ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${THISMIPS}/${MACHINE}/locore_machdep.S d270 1 a270 1 locore_machdep.o: ${THISMIPS}/${MACHINE}/locore_machdep.S assym.h @ 1.3 log @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. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.2 2000/12/03 04:52:38 matt Exp $ d124 4 a127 1 SYSTEM_OBJ+= fp.o param.o ioconf.o ${OBJS} ${LIBKERN} ${LIBCOMPAT} d205 1 a205 1 SRCS= ${MIPS}/mips/locore.S ${MIPS}/mips/fp.S \ d208 10 d221 9 @ 1.2 log @Add a POST_STRIP_SYSTEM_LD_FLAGS for mipsco and pmax. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.1 2000/12/03 02:07:05 matt Exp $ d61 2 a62 2 -mno-abicalls -mno-half-pic ${ENDIAN} AFLAGS= -x assembler-with-cpp -traditional-cpp -D_LOCORE ${ENDIAN} d64 1 a64 1 .if (${ENDIAN} == "-EB") d66 3 d71 3 a74 1 LD+= ${ENDIAN} @ 1.1 log @Start using a Makefile.mips. Use a combination of makeoptions and Makefile.sgimips.inc which has sgimips specific stuff. @ text @d1 1 a1 1 # $NetBSD: Makefile.mips,v 1.28 2000/05/21 02:50:11 soren Exp $ d140 4 @