head	1.25;
access;
symbols
	netbsd-11-0-RC4:1.25
	netbsd-11-0-RC3:1.25
	netbsd-11-0-RC2:1.25
	netbsd-11-0-RC1:1.25
	perseant-exfatfs-base-20250801:1.25
	netbsd-11:1.25.0.20
	netbsd-11-base:1.25
	netbsd-10-1-RELEASE:1.25
	perseant-exfatfs-base-20240630:1.25
	perseant-exfatfs:1.25.0.18
	perseant-exfatfs-base:1.25
	netbsd-8-3-RELEASE:1.24
	netbsd-9-4-RELEASE:1.24
	netbsd-10-0-RELEASE:1.25
	netbsd-10-0-RC6:1.25
	netbsd-10-0-RC5:1.25
	netbsd-10-0-RC4:1.25
	netbsd-10-0-RC3:1.25
	netbsd-10-0-RC2:1.25
	thorpej-ifq:1.25.0.16
	thorpej-ifq-base:1.25
	thorpej-altq-separation:1.25.0.14
	thorpej-altq-separation-base:1.25
	netbsd-10-0-RC1:1.25
	netbsd-10:1.25.0.12
	netbsd-10-base:1.25
	bouyer-sunxi-drm:1.25.0.10
	bouyer-sunxi-drm-base:1.25
	netbsd-9-3-RELEASE:1.24
	thorpej-i2c-spi-conf2:1.25.0.8
	thorpej-i2c-spi-conf2-base:1.25
	thorpej-futex2:1.25.0.6
	thorpej-futex2-base:1.25
	thorpej-cfargs2:1.25.0.4
	thorpej-cfargs2-base:1.25
	cjep_sun2x-base1:1.25
	cjep_sun2x:1.25.0.2
	cjep_sun2x-base:1.25
	cjep_staticlib_x-base1:1.25
	netbsd-9-2-RELEASE:1.24
	cjep_staticlib_x:1.24.0.32
	cjep_staticlib_x-base:1.24
	thorpej-i2c-spi-conf:1.24.0.30
	thorpej-i2c-spi-conf-base:1.25
	thorpej-cfargs:1.24.0.28
	thorpej-cfargs-base:1.24
	thorpej-futex:1.24.0.26
	thorpej-futex-base:1.24
	netbsd-9-1-RELEASE:1.24
	bouyer-xenpvh-base2:1.24
	phil-wifi-20200421:1.24
	bouyer-xenpvh-base1:1.24
	phil-wifi-20200411:1.24
	bouyer-xenpvh:1.24.0.24
	bouyer-xenpvh-base:1.24
	is-mlppp:1.24.0.22
	is-mlppp-base:1.24
	phil-wifi-20200406:1.24
	netbsd-8-2-RELEASE:1.24
	ad-namecache-base3:1.24
	netbsd-9-0-RELEASE:1.24
	netbsd-9-0-RC2:1.24
	ad-namecache-base2:1.24
	ad-namecache-base1:1.24
	ad-namecache:1.24.0.20
	ad-namecache-base:1.24
	netbsd-9-0-RC1:1.24
	phil-wifi-20191119:1.24
	netbsd-9:1.24.0.18
	netbsd-9-base:1.24
	phil-wifi-20190609:1.24
	netbsd-8-1-RELEASE:1.24
	netbsd-8-1-RC1:1.24
	isaki-audio2:1.24.0.16
	isaki-audio2-base:1.24
	pgoyette-compat-merge-20190127:1.24
	pgoyette-compat-20190127:1.24
	pgoyette-compat-20190118:1.24
	pgoyette-compat-1226:1.24
	pgoyette-compat-1126:1.24
	pgoyette-compat-1020:1.24
	pgoyette-compat-0930:1.24
	pgoyette-compat-0906:1.24
	netbsd-7-2-RELEASE:1.21
	pgoyette-compat-0728:1.24
	netbsd-8-0-RELEASE:1.24
	phil-wifi:1.24.0.14
	phil-wifi-base:1.24
	pgoyette-compat-0625:1.24
	netbsd-8-0-RC2:1.24
	pgoyette-compat-0521:1.24
	pgoyette-compat-0502:1.24
	pgoyette-compat-0422:1.24
	netbsd-8-0-RC1:1.24
	pgoyette-compat-0415:1.24
	pgoyette-compat-0407:1.24
	pgoyette-compat-0330:1.24
	pgoyette-compat-0322:1.24
	pgoyette-compat-0315:1.24
	netbsd-7-1-2-RELEASE:1.21
	pgoyette-compat:1.24.0.12
	pgoyette-compat-base:1.24
	netbsd-7-1-1-RELEASE:1.21
	tls-maxphys-base-20171202:1.24
	matt-nb8-mediatek:1.24.0.10
	matt-nb8-mediatek-base:1.24
	nick-nhusb-base-20170825:1.24
	perseant-stdc-iso10646:1.24.0.8
	perseant-stdc-iso10646-base:1.24
	netbsd-8:1.24.0.6
	netbsd-8-base:1.24
	prg-localcount2-base3:1.24
	prg-localcount2-base2:1.24
	prg-localcount2-base1:1.24
	prg-localcount2:1.24.0.4
	prg-localcount2-base:1.24
	pgoyette-localcount-20170426:1.24
	bouyer-socketcan-base1:1.24
	jdolecek-ncq:1.24.0.2
	jdolecek-ncq-base:1.24
	pgoyette-localcount-20170320:1.23
	netbsd-7-1:1.21.0.14
	netbsd-7-1-RELEASE:1.21
	netbsd-7-1-RC2:1.21
	nick-nhusb-base-20170204:1.23
	netbsd-7-nhusb-base-20170116:1.21
	bouyer-socketcan:1.23.0.2
	bouyer-socketcan-base:1.23
	pgoyette-localcount-20170107:1.23
	netbsd-7-1-RC1:1.21
	nick-nhusb-base-20161204:1.23
	pgoyette-localcount-20161104:1.23
	netbsd-7-0-2-RELEASE:1.21
	nick-nhusb-base-20161004:1.23
	localcount-20160914:1.22
	netbsd-7-nhusb:1.21.0.12
	netbsd-7-nhusb-base:1.21
	pgoyette-localcount-20160806:1.21
	pgoyette-localcount-20160726:1.21
	pgoyette-localcount:1.21.0.10
	pgoyette-localcount-base:1.21
	nick-nhusb-base-20160907:1.21
	nick-nhusb-base-20160529:1.21
	netbsd-7-0-1-RELEASE:1.21
	nick-nhusb-base-20160422:1.21
	nick-nhusb-base-20160319:1.21
	nick-nhusb-base-20151226:1.21
	netbsd-7-0:1.21.0.8
	netbsd-7-0-RELEASE:1.21
	nick-nhusb-base-20150921:1.21
	netbsd-7-0-RC3:1.21
	netbsd-7-0-RC2:1.21
	netbsd-7-0-RC1:1.21
	nick-nhusb-base-20150606:1.21
	nick-nhusb-base-20150406:1.21
	nick-nhusb:1.21.0.6
	nick-nhusb-base:1.21
	netbsd-5-2-3-RELEASE:1.12
	netbsd-5-1-5-RELEASE:1.12
	netbsd-6-0-6-RELEASE:1.17
	netbsd-6-1-5-RELEASE:1.17
	netbsd-7:1.21.0.4
	netbsd-7-base:1.21
	yamt-pagecache-base9:1.21
	yamt-pagecache-tag8:1.17
	netbsd-6-1-4-RELEASE:1.17
	netbsd-6-0-5-RELEASE:1.17
	tls-earlyentropy:1.21.0.2
	tls-earlyentropy-base:1.21
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.21
	riastradh-drm2-base3:1.21
	netbsd-6-1-3-RELEASE:1.17
	netbsd-6-0-4-RELEASE:1.17
	netbsd-5-2-2-RELEASE:1.12
	netbsd-5-1-4-RELEASE:1.12
	netbsd-6-1-2-RELEASE:1.17
	netbsd-6-0-3-RELEASE:1.17
	netbsd-5-2-1-RELEASE:1.12
	netbsd-5-1-3-RELEASE:1.12
	rmind-smpnet-nbase:1.21
	netbsd-6-1-1-RELEASE:1.17
	riastradh-drm2-base2:1.17
	riastradh-drm2-base1:1.17
	riastradh-drm2:1.17.0.26
	riastradh-drm2-base:1.17
	rmind-smpnet:1.17.0.18
	rmind-smpnet-base:1.21
	netbsd-6-1:1.17.0.24
	netbsd-6-0-2-RELEASE:1.17
	netbsd-6-1-RELEASE:1.17
	khorben-n900:1.17.0.22
	netbsd-6-1-RC4:1.17
	netbsd-6-1-RC3:1.17
	agc-symver:1.17.0.20
	agc-symver-base:1.17
	netbsd-6-1-RC2:1.17
	netbsd-6-1-RC1:1.17
	yamt-pagecache-base8:1.17
	netbsd-5-2:1.12.0.100
	netbsd-6-0-1-RELEASE:1.17
	yamt-pagecache-base7:1.17
	netbsd-5-2-RELEASE:1.12
	netbsd-5-2-RC1:1.12
	matt-nb6-plus-nbase:1.17
	yamt-pagecache-base6:1.17
	netbsd-6-0:1.17.0.16
	netbsd-6-0-RELEASE:1.17
	netbsd-6-0-RC2:1.17
	tls-maxphys:1.17.0.14
	tls-maxphys-base:1.21
	matt-nb6-plus:1.17.0.12
	matt-nb6-plus-base:1.17
	netbsd-6-0-RC1:1.17
	jmcneill-usbmp-base10:1.17
	yamt-pagecache-base5:1.17
	jmcneill-usbmp-base9:1.17
	yamt-pagecache-base4:1.17
	jmcneill-usbmp-base8:1.17
	jmcneill-usbmp-base7:1.17
	jmcneill-usbmp-base6:1.17
	jmcneill-usbmp-base5:1.17
	jmcneill-usbmp-base4:1.17
	jmcneill-usbmp-base3:1.17
	jmcneill-usbmp-pre-base2:1.17
	jmcneill-usbmp-base2:1.17
	netbsd-6:1.17.0.10
	netbsd-6-base:1.17
	netbsd-5-1-2-RELEASE:1.12
	netbsd-5-1-1-RELEASE:1.12
	jmcneill-usbmp:1.17.0.8
	jmcneill-usbmp-base:1.17
	jmcneill-audiomp3:1.17.0.6
	jmcneill-audiomp3-base:1.17
	yamt-pagecache-base3:1.17
	yamt-pagecache-base2:1.17
	yamt-pagecache:1.17.0.4
	yamt-pagecache-base:1.17
	rmind-uvmplock-nbase:1.17
	cherry-xenmp:1.17.0.2
	cherry-xenmp-base:1.17
	jym-xensuspend-nbase:1.17
	uebayasi-xip-base7:1.17
	bouyer-quota2-nbase:1.17
	bouyer-quota2:1.16.0.4
	bouyer-quota2-base:1.17
	jruoho-x86intr:1.16.0.2
	jruoho-x86intr-base:1.16
	matt-mips64-premerge-20101231:1.16
	matt-nb5-mips64-premerge-20101231:1.12
	matt-nb5-pq3:1.12.0.98
	matt-nb5-pq3-base:1.12
	netbsd-5-1:1.12.0.96
	uebayasi-xip-base6:1.16
	uebayasi-xip-base5:1.16
	netbsd-5-1-RELEASE:1.12
	uebayasi-xip-base4:1.16
	uebayasi-xip-base3:1.16
	yamt-nfs-mp-base11:1.16
	netbsd-5-1-RC4:1.12
	matt-nb5-mips64-k15:1.12
	uebayasi-xip-base2:1.16
	yamt-nfs-mp-base10:1.16
	netbsd-5-1-RC3:1.12
	netbsd-5-1-RC2:1.12
	uebayasi-xip-base1:1.15
	netbsd-5-1-RC1:1.12
	rmind-uvmplock:1.15.0.4
	rmind-uvmplock-base:1.17
	yamt-nfs-mp-base9:1.15
	uebayasi-xip:1.15.0.2
	uebayasi-xip-base:1.15
	netbsd-5-0-2-RELEASE:1.12
	matt-nb5-mips64-premerge-20091211:1.12
	matt-premerge-20091211:1.15
	yamt-nfs-mp-base8:1.15
	matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.12
	matt-nb4-mips64-k7-u2a-k9b:1.12
	matt-nb5-mips64-u1-k1-k5:1.12
	yamt-nfs-mp-base7:1.15
	matt-nb5-mips64:1.12.0.94
	netbsd-5-0-1-RELEASE:1.12
	jymxensuspend-base:1.15
	yamt-nfs-mp-base6:1.15
	yamt-nfs-mp-base5:1.15
	yamt-nfs-mp-base4:1.15
	yamt-nfs-mp-base3:1.15
	nick-hppapmap-base4:1.15
	nick-hppapmap-base3:1.15
	netbsd-5-0:1.12.0.92
	netbsd-5-0-RELEASE:1.12
	netbsd-5-0-RC4:1.12
	netbsd-5-0-RC3:1.12
	nick-hppapmap-base2:1.13
	netbsd-5-0-RC2:1.12
	jym-xensuspend:1.13.0.2
	jym-xensuspend-base:1.17
	netbsd-5-0-RC1:1.12
	haad-dm-base2:1.12
	haad-nbase2:1.12
	ad-audiomp2:1.12.0.90
	ad-audiomp2-base:1.12
	netbsd-5:1.12.0.88
	netbsd-5-base:1.12
	nick-hppapmap:1.12.0.86
	nick-hppapmap-base:1.15
	matt-mips64-base2:1.12
	haad-dm-base1:1.12
	wrstuden-revivesa-base-4:1.12
	netbsd-4-0-1-RELEASE:1.12
	wrstuden-revivesa-base-3:1.12
	wrstuden-revivesa-base-2:1.12
	wrstuden-fixsa-newbase:1.12
	nick-csl-alignment-base5:1.12
	haad-dm:1.12.0.84
	haad-dm-base:1.12
	wrstuden-revivesa-base-1:1.12
	simonb-wapbl-nbase:1.12
	yamt-pf42-base4:1.12
	simonb-wapbl:1.12.0.82
	simonb-wapbl-base:1.12
	yamt-pf42-base3:1.12
	hpcarm-cleanup-nbase:1.12
	yamt-pf42-baseX:1.12
	yamt-pf42-base2:1.12
	yamt-nfs-mp-base2:1.12
	wrstuden-revivesa:1.12.0.80
	wrstuden-revivesa-base:1.12
	yamt-nfs-mp:1.12.0.78
	yamt-nfs-mp-base:1.12
	yamt-pf42:1.12.0.76
	yamt-pf42-base:1.12
	ad-socklock-base1:1.12
	yamt-lazymbuf-base15:1.12
	yamt-lazymbuf-base14:1.12
	keiichi-mipv6-nbase:1.12
	mjf-devfs2:1.12.0.74
	mjf-devfs2-base:1.13
	nick-net80211-sync:1.12.0.72
	nick-net80211-sync-base:1.12
	keiichi-mipv6:1.12.0.70
	keiichi-mipv6-base:1.12
	bouyer-xeni386-merge1:1.12
	matt-armv6-prevmlocking:1.12
	wrstuden-fixsa-base-1:1.12
	vmlocking2-base3:1.12
	netbsd-4-0:1.12.0.68
	netbsd-4-0-RELEASE:1.12
	bouyer-xeni386-nbase:1.12
	yamt-kmem-base3:1.12
	cube-autoconf:1.12.0.66
	cube-autoconf-base:1.12
	yamt-kmem-base2:1.12
	bouyer-xeni386:1.12.0.64
	bouyer-xeni386-base:1.12
	yamt-kmem:1.12.0.62
	yamt-kmem-base:1.12
	vmlocking2-base2:1.12
	reinoud-bufcleanup-nbase:1.12
	vmlocking2:1.12.0.60
	vmlocking2-base1:1.12
	netbsd-4-0-RC5:1.12
	matt-nb4-arm:1.12.0.58
	matt-nb4-arm-base:1.12
	matt-armv6-nbase:1.12
	jmcneill-base:1.12
	netbsd-4-0-RC4:1.12
	mjf-devfs:1.12.0.56
	mjf-devfs-base:1.12
	bouyer-xenamd64-base2:1.12
	vmlocking-nbase:1.12
	yamt-x86pmap-base4:1.12
	bouyer-xenamd64:1.12.0.54
	bouyer-xenamd64-base:1.12
	netbsd-4-0-RC3:1.12
	yamt-x86pmap-base3:1.12
	yamt-x86pmap-base2:1.12
	netbsd-4-0-RC2:1.12
	yamt-x86pmap:1.12.0.52
	yamt-x86pmap-base:1.12
	netbsd-4-0-RC1:1.12
	matt-armv6:1.12.0.50
	matt-armv6-base:1.12
	jmcneill-pm:1.12.0.48
	jmcneill-pm-base:1.12
	hpcarm-cleanup:1.12.0.46
	hpcarm-cleanup-base:1.12
	nick-csl-alignment:1.12.0.44
	nick-csl-alignment-base:1.12
	matt-mips64:1.12.0.42
	matt-mips64-base:1.12
	netbsd-3-1-1-RELEASE:1.11
	netbsd-3-0-3-RELEASE:1.11
	yamt-idlelwp-base8:1.12
	wrstuden-fixsa:1.12.0.40
	wrstuden-fixsa-base:1.12
	ppcoea-renovation:1.12.0.38
	ppcoea-renovation-base:1.12
	thorpej-atomic:1.12.0.36
	thorpej-atomic-base:1.12
	reinoud-bufcleanup:1.12.0.34
	reinoud-bufcleanup-base:1.12
	mjf-ufs-trans:1.12.0.32
	mjf-ufs-trans-base:1.12
	vmlocking:1.12.0.30
	vmlocking-base:1.12
	ad-audiomp:1.12.0.28
	ad-audiomp-base:1.12
	yamt-idlelwp:1.12.0.26
	post-newlock2-merge:1.12
	newlock2-nbase:1.12
	yamt-splraiseipl-base5:1.12
	yamt-splraiseipl-base4:1.12
	yamt-splraiseipl-base3:1.12
	abandoned-netbsd-4-base:1.12
	abandoned-netbsd-4:1.12.0.18
	netbsd-3-1:1.11.0.20
	netbsd-3-1-RELEASE:1.11
	netbsd-3-0-2-RELEASE:1.11
	yamt-splraiseipl-base2:1.12
	netbsd-3-1-RC4:1.11
	yamt-splraiseipl:1.12.0.22
	yamt-splraiseipl-base:1.12
	netbsd-3-1-RC3:1.11
	yamt-pdpolicy-base9:1.12
	newlock2:1.12.0.20
	newlock2-base:1.12
	yamt-pdpolicy-base8:1.12
	netbsd-3-1-RC2:1.11
	netbsd-3-1-RC1:1.11
	yamt-pdpolicy-base7:1.12
	netbsd-4:1.12.0.24
	netbsd-4-base:1.12
	yamt-pdpolicy-base6:1.12
	chap-midi-nbase:1.12
	netbsd-3-0-1-RELEASE:1.11
	gdamore-uart:1.12.0.16
	gdamore-uart-base:1.12
	simonb-timcounters-final:1.12
	yamt-pdpolicy-base5:1.12
	chap-midi:1.12.0.14
	chap-midi-base:1.12
	yamt-pdpolicy-base4:1.12
	yamt-pdpolicy-base3:1.12
	peter-altq-base:1.12
	peter-altq:1.12.0.12
	yamt-pdpolicy-base2:1.12
	elad-kernelauth-base:1.12
	elad-kernelauth:1.12.0.10
	yamt-pdpolicy:1.12.0.8
	yamt-pdpolicy-base:1.12
	yamt-uio_vmspace-base5:1.12
	simonb-timecounters:1.12.0.6
	simonb-timecounters-base:1.12
	rpaulo-netinet-merge-pcb:1.12.0.4
	rpaulo-netinet-merge-pcb-base:1.12
	yamt-uio_vmspace:1.12.0.2
	netbsd-3-0:1.11.0.18
	netbsd-3-0-RELEASE:1.11
	netbsd-3-0-RC6:1.11
	yamt-readahead-base3:1.11
	netbsd-3-0-RC5:1.11
	netbsd-3-0-RC4:1.11
	netbsd-3-0-RC3:1.11
	yamt-readahead-base2:1.11
	netbsd-3-0-RC2:1.11
	yamt-readahead-pervnode:1.11
	yamt-readahead-perfile:1.11
	yamt-readahead:1.11.0.16
	yamt-readahead-base:1.11
	netbsd-3-0-RC1:1.11
	yamt-vop-base3:1.11
	netbsd-2-0-3-RELEASE:1.8.2.2
	netbsd-2-1:1.8.2.2.0.4
	yamt-vop-base2:1.11
	thorpej-vnode-attr:1.11.0.14
	thorpej-vnode-attr-base:1.11
	netbsd-2-1-RELEASE:1.8.2.2
	yamt-vop:1.11.0.12
	yamt-vop-base:1.11
	netbsd-2-1-RC6:1.8.2.2
	netbsd-2-1-RC5:1.8.2.2
	netbsd-2-1-RC4:1.8.2.2
	netbsd-2-1-RC3:1.8.2.2
	netbsd-2-1-RC2:1.8.2.2
	netbsd-2-1-RC1:1.8.2.2
	yamt-lazymbuf:1.11.0.10
	yamt-km-base4:1.11
	netbsd-2-0-2-RELEASE:1.8.2.2
	yamt-km-base3:1.11
	netbsd-3:1.11.0.8
	netbsd-3-base:1.11
	yamt-km-base2:1.11
	yamt-km:1.11.0.4
	yamt-km-base:1.11
	kent-audio2:1.11.0.2
	kent-audio2-base:1.11
	netbsd-2-0-1-RELEASE:1.8.2.2
	kent-audio1-beforemerge:1.11
	netbsd-2:1.8.2.2.0.2
	netbsd-2-base:1.8.2.2
	kent-audio1:1.10.0.2
	kent-audio1-base:1.10
	netbsd-2-0-RELEASE:1.8.2.2
	netbsd-2-0-RC5:1.8.2.2
	netbsd-2-0-RC4:1.8.2.2
	netbsd-2-0-RC3:1.8.2.2
	netbsd-2-0-RC2:1.8.2.2
	netbsd-2-0-RC1:1.8.2.2
	netbsd-2-0:1.8.0.2
	netbsd-2-0-base:1.8
	netbsd-1-6-PATCH002-RELEASE:1.4
	netbsd-1-6-PATCH002:1.4
	netbsd-1-6-PATCH002-RC4:1.4
	netbsd-1-6-PATCH002-RC3:1.4
	netbsd-1-6-PATCH002-RC2:1.4
	netbsd-1-6-PATCH002-RC1:1.4
	ktrace-lwp:1.5.0.6
	ktrace-lwp-base:1.11
	netbsd-1-6-PATCH001:1.4
	netbsd-1-6-PATCH001-RELEASE:1.4
	netbsd-1-6-PATCH001-RC3:1.4
	netbsd-1-6-PATCH001-RC2:1.4
	netbsd-1-6-PATCH001-RC1:1.4
	nathanw_sa_end:1.4.4.2
	nathanw_sa_before_merge:1.5
	fvdl_fs64_base:1.5
	gmcgarry_ctxsw:1.5.0.4
	gmcgarry_ctxsw_base:1.5
	gmcgarry_ucred:1.5.0.2
	gmcgarry_ucred_base:1.5
	nathanw_sa_base:1.5
	kqueue-aftermerge:1.4
	kqueue-beforemerge:1.4
	netbsd-1-6-RELEASE:1.4
	netbsd-1-6-RC3:1.4
	netbsd-1-6-RC2:1.4
	netbsd-1-6-RC1:1.4
	netbsd-1-6:1.4.0.14
	netbsd-1-6-base:1.4
	gehenna-devsw:1.4.0.12
	gehenna-devsw-base:1.4
	eeh-devprop:1.4.0.10
	eeh-devprop-base:1.4
	newlock:1.4.0.8
	newlock-base:1.4
	ifpoll-base:1.4
	nathanw_sa:1.4.0.4
	thorpej-mips-cache:1.4.0.2
	thorpej-mips-cache-base:1.4
	thorpej-devvp-base3:1.4
	thorpej-devvp-base2:1.3
	post-chs-ubcperf:1.2
	pre-chs-ubcperf:1.2
	thorpej-devvp:1.2.0.4
	thorpej-devvp-base:1.2
	kqueue:1.2.0.6
	kqueue-base:1.4
	thorpej_scsipi_beforemerge:1.2
	thorpej_scsipi_nbase:1.2
	thorpej_scsipi_base:1.2
	thorpej_scsipi:1.2.0.2;
locks; strict;
comment	@# @;


1.25
date	2021.05.17.22.36.31;	author mrg;	state Exp;
branches;
next	1.24;
commitid	CFO7LTcEhGvdmyTC;

1.24
date	2017.04.08.19.53.21;	author christos;	state Exp;
branches
	1.24.30.1
	1.24.32.1;
next	1.23;

1.23
date	2016.09.18.14.39.15;	author christos;	state Exp;
branches
	1.23.2.1;
next	1.22;

1.22
date	2016.09.08.14.40.52;	author christos;	state Exp;
branches;
next	1.21;

1.21
date	2014.01.31.19.38.48;	author tsutsui;	state Exp;
branches
	1.21.6.1
	1.21.10.1;
next	1.20;

1.20
date	2014.01.16.01.15.34;	author christos;	state Exp;
branches;
next	1.19;

1.19
date	2014.01.12.15.26.30;	author tsutsui;	state Exp;
branches;
next	1.18;

1.18
date	2013.08.21.07.13.51;	author matt;	state Exp;
branches;
next	1.17;

1.17
date	2011.01.22.19.19.19;	author joerg;	state Exp;
branches
	1.17.4.1
	1.17.14.1
	1.17.18.1;
next	1.16;

1.16
date	2010.05.27.06.58.14;	author dholland;	state Exp;
branches
	1.16.2.1
	1.16.4.1;
next	1.15;

1.15
date	2009.04.03.10.38.13;	author tsutsui;	state Exp;
branches
	1.15.2.1
	1.15.4.1;
next	1.14;

1.14
date	2009.03.17.00.35.08;	author he;	state Exp;
branches;
next	1.13;

1.13
date	2009.01.12.07.12.17;	author tsutsui;	state Exp;
branches
	1.13.2.1;
next	1.12;

1.12
date	2005.12.11.12.18.16;	author christos;	state Exp;
branches
	1.12.74.1
	1.12.78.1
	1.12.86.1;
next	1.11;

1.11
date	2005.01.01.07.00.51;	author simonb;	state Exp;
branches;
next	1.10;

1.10
date	2004.07.19.01.41.26;	author chs;	state Exp;
branches;
next	1.9;

1.9
date	2004.06.21.18.20.08;	author jmc;	state Exp;
branches;
next	1.8;

1.8
date	2004.03.08.05.00.02;	author simonb;	state Exp;
branches
	1.8.2.1;
next	1.7;

1.7
date	2003.10.26.07.25.36;	author lukem;	state Exp;
branches;
next	1.6;

1.6
date	2003.10.08.01.40.22;	author simonb;	state Exp;
branches;
next	1.5;

1.5
date	2002.11.16.08.48.13;	author wdk;	state Exp;
branches
	1.5.6.1;
next	1.4;

1.4
date	2001.10.05.05.03.30;	author simonb;	state Exp;
branches
	1.4.4.1;
next	1.3;

1.3
date	2001.09.22.03.34.20;	author tv;	state Exp;
branches;
next	1.2;

1.2
date	2000.09.26.09.11.04;	author wdk;	state Exp;
branches
	1.2.2.1
	1.2.4.1
	1.2.6.1;
next	1.1;

1.1
date	2000.09.18.11.40.46;	author wdk;	state Exp;
branches;
next	;

1.24.30.1
date	2021.06.17.04.46.22;	author thorpej;	state Exp;
branches;
next	;
commitid	d7CrUzY34skBrrXC;

1.24.32.1
date	2021.05.31.22.15.14;	author cjep;	state Exp;
branches;
next	;
commitid	eWz9SBW0XqKjJlVC;

1.23.2.1
date	2017.04.21.16.53.31;	author bouyer;	state Exp;
branches;
next	;

1.21.6.1
date	2016.10.05.20.55.32;	author skrll;	state Exp;
branches;
next	1.21.6.2;

1.21.6.2
date	2017.08.28.17.51.46;	author skrll;	state Exp;
branches;
next	;
commitid	UQQpnjvcNkUZn05A;

1.21.10.1
date	2016.11.04.14.49.03;	author pgoyette;	state Exp;
branches;
next	1.21.10.2;

1.21.10.2
date	2017.04.26.02.53.05;	author pgoyette;	state Exp;
branches;
next	;

1.17.4.1
date	2014.05.22.11.39.58;	author yamt;	state Exp;
branches;
next	;

1.17.14.1
date	2014.08.20.00.03.13;	author tls;	state Exp;
branches;
next	1.17.14.2;

1.17.14.2
date	2017.12.03.11.36.29;	author jdolecek;	state Exp;
branches;
next	;
commitid	XcIYRZTAh1LmerhA;

1.17.18.1
date	2013.08.28.23.59.19;	author rmind;	state Exp;
branches;
next	1.17.18.2;

1.17.18.2
date	2014.05.18.17.45.18;	author rmind;	state Exp;
branches;
next	;

1.16.2.1
date	2011.06.06.09.06.12;	author jruoho;	state Exp;
branches;
next	;

1.16.4.1
date	2011.02.08.16.19.29;	author bouyer;	state Exp;
branches;
next	;

1.15.2.1
date	2010.08.17.06.44.53;	author uebayasi;	state Exp;
branches;
next	;

1.15.4.1
date	2010.05.30.05.16.59;	author rmind;	state Exp;
branches;
next	1.15.4.2;

1.15.4.2
date	2011.03.05.20.51.13;	author rmind;	state Exp;
branches;
next	;

1.13.2.1
date	2009.05.13.17.18.04;	author jym;	state Exp;
branches;
next	;

1.12.74.1
date	2009.01.17.13.28.17;	author mjf;	state Exp;
branches;
next	;

1.12.78.1
date	2009.05.04.08.11.33;	author yamt;	state Exp;
branches;
next	1.12.78.2;

1.12.78.2
date	2010.08.11.22.52.25;	author yamt;	state Exp;
branches;
next	;

1.12.86.1
date	2009.01.19.13.16.31;	author skrll;	state Exp;
branches;
next	1.12.86.2;

1.12.86.2
date	2009.04.28.07.34.26;	author skrll;	state Exp;
branches;
next	;

1.8.2.1
date	2004.06.22.07.55.23;	author tron;	state Exp;
branches;
next	1.8.2.2;

1.8.2.2
date	2004.07.19.09.12.35;	author tron;	state Exp;
branches;
next	;

1.5.6.1
date	2004.08.03.10.38.02;	author skrll;	state Exp;
branches;
next	1.5.6.2;

1.5.6.2
date	2004.08.05.20.23.05;	author skrll;	state Exp;
branches;
next	1.5.6.3;

1.5.6.3
date	2005.01.17.19.29.58;	author skrll;	state Exp;
branches;
next	;

1.4.4.1
date	2001.10.05.05.03.30;	author thorpej;	state dead;
branches;
next	1.4.4.2;

1.4.4.2
date	2002.12.11.06.11.19;	author thorpej;	state Exp;
branches;
next	;

1.2.2.1
date	2000.09.26.09.11.04;	author bouyer;	state dead;
branches;
next	1.2.2.2;

1.2.2.2
date	2000.11.20.20.14.12;	author bouyer;	state Exp;
branches;
next	;

1.2.4.1
date	2001.10.01.12.40.56;	author fvdl;	state Exp;
branches;
next	1.2.4.2;

1.2.4.2
date	2001.10.11.00.01.48;	author fvdl;	state Exp;
branches;
next	;

1.2.6.1
date	2002.01.10.19.46.22;	author thorpej;	state Exp;
branches;
next	;


desc
@@


1.25
log
@also strip .eh_frame.  libkern dkcksum pushed bootxx_ffs 7 bytes over a limit.

remove an old comment.
@
text
@#	$NetBSD: Makefile.booters,v 1.24 2017/04/08 19:53:21 christos Exp $

NOMAN=		# defined
NOPIE=		# defined

.include <bsd.init.mk>

S=	${.CURDIR}/../../../..
MIPS=	${S}/arch/mips
MIPSCO=	${S}/arch/mipsco

.PATH:	${.CURDIR}/../common

BINMODE?= 444

# XXX SHOULD NOT NEED TO DEFINE THESE!
LIBCRT0=
LIBCRTI=
LIBC=
LIBCRTBEGIN=
LIBCRTEND=

realall: ${PROG}

AFLAGS+=	-D_LOCORE -D_KERNEL -DASSEMBLER -mno-abicalls
# -I${.CURDIR}/../.. done by Makefile.inc
CPPFLAGS+=	-nostdinc -D_STANDALONE -DNO_ABICALLS -D_NO_PROM_DEFINES
CPPFLAGS+=	-I${.OBJDIR} -I${S}
CFLAGS=		-Os -mmemcpy -ffreestanding -mno-abicalls -msoft-float -G 128
CFLAGS+=	-Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith

NETBSD_VERS!=	${HOST_SH} ${S}/conf/osrelease.sh
CPPFLAGS+=	-DNETBSD_VERS='"${NETBSD_VERS}"'

PRIMARY_LOAD_ADDRESS?=	0x80600000
SECONDARY_LOAD_ADDRESS?=0x80610000

LDSCRIPT?=	${MIPSCO}/conf/stand.ldscript

.include <bsd.own.mk>

.if defined(PRIMARY_PROG)
PROG=		${PRIMARY_PROG}
SRCS =		start.S bootxx.c callvec.c
SRCS+=		devopen.c conf.c saio.c
SRCS+=		prom.S

LOAD_ADDRESS=	${PRIMARY_LOAD_ADDRESS}

CPPFLAGS+=	-DPRIMARY_BOOTBLOCK \
		-DPRIMARY_LOAD_ADDRESS="${PRIMARY_LOAD_ADDRESS}" \
		-DNO_GETCHAR \
		-DLIBSA_NO_FS_SYMLINK -DLIBSA_NO_FS_WRITE \
		-DLIBSA_NO_FS_CLOSE \
		-DLIBSA_NO_DEV_CLOSE \
		-DLIBSA_NO_DEV_IOCTL \
		-DLIBSA_SINGLE_DEVICE=saio \
		-D"saioioctl(x,y,z)=EINVAL" -D"saioclose(f)=0" \
		-DLIBSA_NO_TWIDDLE \
		-DLIBSA_NO_FD_CHECKING \
		-DLIBSA_NO_DISKLABEL_MSGS \
		-DLIBSA_NO_RAW_ACCESS \
		-DALLOC_FIRST_FIT


CHECKSIZE_CMD?=	SIZE=${SIZE} ${HOST_SH} ${.CURDIR}/../common/checksize.sh

STRIPSECTIONS?= -R .reginfo -R .mdebug.abi32 -R .comment -R .pdr \
	-R .MIPS.abiflags  -R .gnu.attributes -R .eh_frame

.elif defined(SECONDARY_PROG)
PROG=		${SECONDARY_PROG}
LOAD_ADDRESS=	${SECONDARY_LOAD_ADDRESS}
CPPFLAGS+=	-DSECONDARY_BOOTBLOCK

.include "${S}/conf/newvers_stand.mk"

.else

.endif

### find out what to use for libkern
KERN_AS=	library
.include "${S}/lib/libkern/Makefile.inc"
LIBKERN=	${KERNLIB}

### find out what to use for libz
.if defined(PRIMARY_PROG)
LIBZ=
.else
Z_AS=		library
.include "${S}/lib/libz/Makefile.inc"
LIBZ=		${ZLIB}
.endif

### find out what to use for libsa
SA_AS=		library
.if defined(PRIMARY_PROG)
SAMISCMAKEFLAGS+=SA_INCLUDE_NET=no
.endif
.if defined(SECONDARY_PROG)
SAMISCMAKEFLAGS+=SA_USE_LOADFILE=yes SA_USE_CREAD=yes
# for now:
SAMISCMAKEFLAGS+=SA_INCLUDE_NET=no
.endif
.include "${S}/lib/libsa/Makefile.inc"
LIBSA=		${SALIB}

LIBS=		${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN}

${PROG}: ${LDSCRIPT} ${OBJS} ${LIBS}
	${_MKTARGET_LINK}
	${LD} ${OFORMAT} -Map ${PROG}.map -N -x -Ttext ${LOAD_ADDRESS} \
	    -T ${LDSCRIPT} -e start -o ${PROG} ${OBJS} ${LIBS}
	@@${SIZE} ${PROG}
.if defined(PRIMARY_PROG)
	mv ${PROG} ${PROG}.elf
	${OBJCOPY} --strip-all -O ecoff-bigmips ${STRIPSECTIONS} \
	    ${PROG}.elf ${PROG}
.endif
.if defined(CHECKSIZE_CMD)
	@@${CHECKSIZE_CMD} ${PROG} ${PRIMARY_MAX_LOAD} || \
	    (rm -f ${PROG} ; false)
.endif

CLEANFILES+=	${PROG}.map ${PROG}.elf

cleandir distclean: .WAIT cleanlibdir

cleanlibdir:
	-rm -rf lib

.include <bsd.prog.mk>
.include <bsd.klinks.mk>
@


1.24
log
@centralize vers.c building for standalone programs.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.23 2016/09/18 14:39:15 christos Exp $
a28 2
# compiler flags for smallest code size
#CFLAGS=		-Os -mmemcpy -mno-abicalls -G 128
d69 1
a69 1
	-R .MIPS.abiflags  -R .gnu.attributes
@


1.24.30.1
log
@Sync w/ HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.25 2021/05/17 22:36:31 mrg Exp $
d29 2
d71 1
a71 1
	-R .MIPS.abiflags  -R .gnu.attributes -R .eh_frame
@


1.24.32.1
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.25 2021/05/17 22:36:31 mrg Exp $
d29 2
d71 1
a71 1
	-R .MIPS.abiflags  -R .gnu.attributes -R .eh_frame
@


1.23
log
@Strip more useless for booters sections so that we fit.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.22 2016/09/08 14:40:52 christos Exp $
d77 3
a79 2
SRCS+=	vers.c
CLEANFILES+= vers.c
a112 5
.PHONY: vers.c
vers.c: ${.CURDIR}/version
	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
	    -N ${.CURDIR}/version "mipsco"

@


1.23.2.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.24 2017/04/08 19:53:21 christos Exp $
d77 2
a78 3

.include "${S}/conf/newvers_stand.mk"

d112 5
@


1.22
log
@Avoid the PIE
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.21 2014/01/31 19:38:48 tsutsui Exp $
d70 2
a71 1
STRIPSECTIONS?= -R .reginfo -R .mdebug.abi32 -R .comment -R .pdr
@


1.21
log
@Make sure to define NOMAN before including <bsd.own.mk>.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.20 2014/01/16 01:15:34 christos Exp $
d4 1
d6 1
a6 1
.include <bsd.own.mk>
@


1.21.10.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.23 2016/09/18 14:39:15 christos Exp $
d69 1
a69 2
STRIPSECTIONS?= -R .reginfo -R .mdebug.abi32 -R .comment -R .pdr \
	-R .MIPS.abiflags  -R .gnu.attributes
@


1.21.10.2
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.24 2017/04/08 19:53:21 christos Exp $
d76 2
a77 3

.include "${S}/conf/newvers_stand.mk"

d111 5
@


1.21.6.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.23 2016/09/18 14:39:15 christos Exp $
a3 1
NOPIE=		# defined
d5 1
a5 1
.include <bsd.init.mk>
d69 1
a69 2
STRIPSECTIONS?= -R .reginfo -R .mdebug.abi32 -R .comment -R .pdr \
	-R .MIPS.abiflags  -R .gnu.attributes
@


1.21.6.2
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.21.6.1 2016/10/05 20:55:32 skrll Exp $
d77 2
a78 3

.include "${S}/conf/newvers_stand.mk"

d112 5
@


1.20
log
@eliminate use of bsd.sys.mk from Makefiles
@
text
@d1 3
a3 1
#	$NetBSD: Makefile.booters,v 1.19 2014/01/12 15:26:30 tsutsui Exp $
a12 1
NOMAN=		# defined
@


1.19
log
@Add empty LIBCRTI= as LIBCRT0 to build sa programs without installed DESTDIR.

XXX: probabry we should have bsd.saprog.mk or something.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.18 2013/08/21 07:13:51 matt Exp $
d3 1
a3 1
.include <bsd.sys.mk>		# for HOST_SH
@


1.18
log
@Use <bsd.klinks.mk>
Add missing ${_MKTARGET_LINK}
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.17 2011/01/22 19:19:19 joerg Exp $
d16 1
@


1.17
log
@Drop bootprog_maker (formerly enabled by -M) and bootprog_date (formerly
disabled by -D) from the output of newvers_stand.sh.  Change -D to the
inverted logic, so that it adds the date to bootprog_rev in ().

Change all platforms accordingly. -D is added if MKREPRO is not yes and
wasn't present before. Platforms that didn't use -D don't depend on
MKREPRO now either.
@
text
@d1 1
a1 1
#	$NetBSD: src/sys/arch/mipsco/stand/Makefile.booters,v 1.16 2010-05-27 06:58:14 dholland Exp $
d20 1
a20 15
.PHONY:		machine-links
beforedepend: machine-links

machine-links:	machine mipsco mips
machine mipsco:
	-rm -f ${.TARGET}
	ln -s ${MIPSCO}/include ${.TARGET}

mips:
	-rm -f ${.TARGET}
	ln -s ${MIPS}/include ${.TARGET}

CLEANFILES+=	machine mipsco mips

realall: machine-links ${PROG}
d113 2
a114 1
${PROG}: machine-links ${LDSCRIPT} ${OBJS} ${LIBS}
d136 1
@


1.17.14.1
log
@Rebase to HEAD as of a few days ago.
@
text
@d1 1
a1 1
#	$NetBSD$
d3 1
a3 3
NOMAN=		# defined

.include <bsd.own.mk>
d11 1
a15 1
LIBCRTI=
d20 15
a34 1
realall: ${PROG}
d127 1
a127 2
${PROG}: ${LDSCRIPT} ${OBJS} ${LIBS}
	${_MKTARGET_LINK}
a148 1
.include <bsd.klinks.mk>
@


1.17.14.2
log
@update from HEAD
@
text
@a3 1
NOPIE=		# defined
d5 1
a5 1
.include <bsd.init.mk>
d69 1
a69 2
STRIPSECTIONS?= -R .reginfo -R .mdebug.abi32 -R .comment -R .pdr \
	-R .MIPS.abiflags  -R .gnu.attributes
d75 2
a76 3

.include "${S}/conf/newvers_stand.mk"

d110 5
@


1.17.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.booters,v 1.17 2011/01/22 19:19:19 joerg Exp $
d3 1
a3 3
NOMAN=		# defined

.include <bsd.own.mk>
d11 1
a15 1
LIBCRTI=
d20 15
a34 1
realall: ${PROG}
d127 1
a127 2
${PROG}: ${LDSCRIPT} ${OBJS} ${LIBS}
	${_MKTARGET_LINK}
a148 1
.include <bsd.klinks.mk>
@


1.17.18.1
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD$
d20 15
a34 1
realall: ${PROG}
d127 1
a127 2
${PROG}: ${LDSCRIPT} ${OBJS} ${LIBS}
	${_MKTARGET_LINK}
a148 1
.include <bsd.klinks.mk>
@


1.17.18.2
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.17.18.1 2013/08/28 23:59:19 rmind Exp $
d3 1
a3 3
NOMAN=		# defined

.include <bsd.own.mk>
d11 1
a15 1
LIBCRTI=
@


1.16
log
@Introduce .WAIT into the cleandir rule for blasting the libsa/libkern/etc.
trees, because it can race with the libsa/libkern/etc. makefiles' own
cleandir rules. I think I've found all of the uses of the offending idiom...
Closes PR 43360.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.15 2009/04/03 10:38:13 tsutsui Exp $
d124 2
a125 1
	${HOST_SH} ${S}/conf/newvers_stand.sh -N ${.CURDIR}/version "mipsco"
@


1.16.2.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.17 2011/01/22 19:19:19 joerg Exp $
d124 1
a124 2
	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
	    -N ${.CURDIR}/version "mipsco"
@


1.16.4.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.17 2011/01/22 19:19:19 joerg Exp $
d124 1
a124 2
	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
	    -N ${.CURDIR}/version "mipsco"
@


1.15
log
@Remove obsolete LIBSA_USE_MEMCPY and LIBSA_USE_MEMSET.
They were removed from <lib/libsa/stand.h> on December 2007.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.14 2009/03/17 00:35:08 he Exp $
d142 1
a142 1
cleandir distclean: cleanlibdir
@


1.15.2.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD$
d142 1
a142 1
cleandir distclean: .WAIT cleanlibdir
@


1.15.4.1
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.15 2009/04/03 10:38:13 tsutsui Exp $
d142 1
a142 1
cleandir distclean: .WAIT cleanlibdir
@


1.15.4.2
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD$
d124 1
a124 2
	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
	    -N ${.CURDIR}/version "mipsco"
@


1.14
log
@Introduce LIBSA_NO_DEV_IOCTL.  Don't declare the ioctl routine
if it is defined, and don't declare the close routine if
LIBSA_NO_DEV_CLOSE is defined.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.13 2009/01/12 07:12:17 tsutsui Exp $
d76 1
a76 2
		-DALLOC_FIRST_FIT \
		-DLIBSA_USE_MEMCPY -DLIBSA_USE_MEMSET
@


1.13
log
@- add prototype warning options
- add some make variables to suppress errors on build without DESTDIR
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.12 2005/12/11 12:18:16 christos Exp $
d69 1
@


1.13.2.1
log
@Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.15 2009/04/03 10:38:13 tsutsui Exp $
a68 1
		-DLIBSA_NO_DEV_IOCTL \
d75 2
a76 1
		-DALLOC_FIRST_FIT
@


1.12
log
@merge ktrace-lwp.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.5.6.3 2005/01/17 19:29:58 skrll Exp $
d14 6
d43 1
@


1.12.78.1
log
@sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.12 2005/12/11 12:18:16 christos Exp $
a13 6
# XXX SHOULD NOT NEED TO DEFINE THESE!
LIBCRT0=
LIBC=
LIBCRTBEGIN=
LIBCRTEND=

a36 1
CFLAGS+=	-Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
a61 1
		-DLIBSA_NO_DEV_IOCTL \
d68 2
a69 1
		-DALLOC_FIRST_FIT
@


1.12.78.2
log
@sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.12.78.1 2009/05/04 08:11:33 yamt Exp $
d142 1
a142 1
cleandir distclean: .WAIT cleanlibdir
@


1.12.86.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.13 2009/01/12 07:12:17 tsutsui Exp $
a13 6
# XXX SHOULD NOT NEED TO DEFINE THESE!
LIBCRT0=
LIBC=
LIBCRTBEGIN=
LIBCRTEND=

a36 1
CFLAGS+=	-Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
@


1.12.86.2
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.12.86.1 2009/01/19 13:16:31 skrll Exp $
a68 1
		-DLIBSA_NO_DEV_IOCTL \
d75 2
a76 1
		-DALLOC_FIRST_FIT
@


1.12.74.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD$
a13 6
# XXX SHOULD NOT NEED TO DEFINE THESE!
LIBCRT0=
LIBC=
LIBCRTBEGIN=
LIBCRTEND=

a36 1
CFLAGS+=	-Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
@


1.11
log
@Don't specify the object format to pick the right endianness - the
linker already knows if it is big- or little-endian.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.10 2004/07/19 01:41:26 chs Exp $
@


1.10
log
@include bsd.own.mk so this builds again.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.9 2004/06/21 18:20:08 jmc Exp $
a36 1
OFORMAT=	--oformat elf32-bigmips
@


1.9
log
@Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.8 2004/03/08 05:00:02 simonb Exp $
d11 1
a13 6
# XXX SHOULD NOT NEED TO DEFINE THESE!
LIBCRT0=
LIBC=
LIBCRTBEGIN=
LIBCRTEND=

d47 2
a141 3

/usr/lib/crt0.o:
	true
@


1.8
log
@Strip out a few more sections when making the ecoff file to reduce the
ECOFF file size.  Problems noticed by James Chacon.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.7 2003/10/26 07:25:36 lukem Exp $
d142 1
a142 1
	rm -rf lib
@


1.8.2.1
log
@Pull up revision 1.9 (requested by jmc in ticket #531):
Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
@
text
@d1 1
a1 1
#	$NetBSD$
d142 1
a142 1
	-rm -rf lib
@


1.8.2.2
log
@Pull up revision 1.10 (requested by chs in ticket #677):
include bsd.own.mk so this builds again.
@
text
@a10 1
NOMAN=		# defined
d13 6
a51 2
.include <bsd.own.mk>

d145 3
@


1.7
log
@Use ${HOST_SH} instead of `sh'.

If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.6 2003/10/08 01:40:22 simonb Exp $
d78 2
d129 2
a130 1
	${OBJCOPY} --strip-all -O ecoff-bigmips -R .reginfo ${PROG}.elf ${PROG}
@


1.6
log
@Define LIB{CRT0,C,CRTBEGIN,CRTEND} as nothing, we don't need to link
against them.
@
text
@d1 3
a3 1
#	$NetBSD: Makefile.booters,v 1.5 2002/11/16 08:48:13 wdk Exp $
d44 1
a44 1
NETBSD_VERS!=	sh ${S}/conf/osrelease.sh
d76 1
a76 1
CHECKSIZE_CMD?=	SIZE=${SIZE} sh ${.CURDIR}/../common/checksize.sh
d119 1
a119 1
	sh ${S}/conf/newvers_stand.sh -N ${.CURDIR}/version "mipsco"
@


1.5
log
@Catch up with the recent toolchain changes:
 add -mno-abicalls to AFLAGS
 add -msoft-float  to CFLAGS
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.4 2001/10/05 05:03:30 simonb Exp $
d10 6
@


1.5.6.1
log
@Sync with HEAD
@
text
@d1 1
a1 5
#	$NetBSD: Makefile.booters,v 1.9 2004/06/21 18:20:08 jmc Exp $

.include <bsd.sys.mk>		# for HOST_SH

.include <bsd.sys.mk>		# for HOST_SH
a8 1
NOMAN=		# defined
a10 6
# XXX SHOULD NOT NEED TO DEFINE THESE!
LIBCRT0=
LIBC=
LIBCRTBEGIN=
LIBCRTEND=

d36 1
a36 1
NETBSD_VERS!=	${HOST_SH} ${S}/conf/osrelease.sh
a43 2
.include <bsd.own.mk>

d68 1
a68 3
CHECKSIZE_CMD?=	SIZE=${SIZE} ${HOST_SH} ${.CURDIR}/../common/checksize.sh

STRIPSECTIONS?= -R .reginfo -R .mdebug.abi32 -R .comment -R .pdr
d111 1
a111 1
	${HOST_SH} ${S}/conf/newvers_stand.sh -N ${.CURDIR}/version "mipsco"
d119 1
a119 2
	${OBJCOPY} --strip-all -O ecoff-bigmips ${STRIPSECTIONS} \
	    ${PROG}.elf ${PROG}
d131 1
a131 1
	-rm -rf lib
d134 3
@


1.5.6.2
log
@Fix some merge mistakes.
@
text
@d1 3
a3 1
#	$NetBSD$
d16 6
@


1.5.6.3
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.5.6.2 2004/08/05 20:23:05 skrll Exp $
d37 1
@


1.4
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
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.3 2001/09/22 03:34:20 tv Exp $
d9 2
d12 2
a13 1
beforedepend:	machine-links
d25 1
a25 1
BINMODE?=	444
d27 1
a27 1
AFLAGS+=	-D_LOCORE -D_KERNEL
d32 2
a33 1
CFLAGS=		-Os -mmemcpy -mno-abicalls -G 128
d42 1
a42 2
PRIMARY_LDSCRIPT?=	${MIPSCO}/conf/stand.ldscript
SECONDARY_LDSCRIPT?=	${MIPS}/conf/stand.ldscript
a50 1
LDSCRIPT=	${PRIMARY_LDSCRIPT}
a72 1
LDSCRIPT=	${SECONDARY_LDSCRIPT}
d118 2
a119 2
	@@mv ${PROG} ${PROG}.elf
	@@${OBJCOPY} --strip-all -O ecoff-bigmips -R .reginfo ${PROG}.elf ${PROG}
d126 1
a126 1
CLEANFILES+=	${PROG}.map
d134 3
@


1.4.4.1
log
@file Makefile.booters was added on branch nathanw_sa on 2002-12-11 06:11:19 +0000
@
text
@d1 132
@


1.4.4.2
log
@Sync with HEAD.
@
text
@a0 136
#	$NetBSD: Makefile.booters,v 1.4.4.1 2002/12/11 06:11:19 thorpej Exp $

S=	${.CURDIR}/../../../..
MIPS=	${S}/arch/mips
MIPSCO=	${S}/arch/mipsco

.PATH:	${.CURDIR}/../common

BINMODE?= 444

.PHONY:		machine-links
beforedepend: machine-links

machine-links:	machine mipsco mips
machine mipsco:
	-rm -f ${.TARGET}
	ln -s ${MIPSCO}/include ${.TARGET}

mips:
	-rm -f ${.TARGET}
	ln -s ${MIPS}/include ${.TARGET}

CLEANFILES+=	machine mipsco mips

realall: machine-links ${PROG}

AFLAGS+=	-D_LOCORE -D_KERNEL -DASSEMBLER -mno-abicalls
# -I${.CURDIR}/../.. done by Makefile.inc
CPPFLAGS+=	-nostdinc -D_STANDALONE -DNO_ABICALLS -D_NO_PROM_DEFINES
CPPFLAGS+=	-I${.OBJDIR} -I${S}
# compiler flags for smallest code size
#CFLAGS=		-Os -mmemcpy -mno-abicalls -G 128
CFLAGS=		-Os -mmemcpy -ffreestanding -mno-abicalls -msoft-float -G 128
OFORMAT=	--oformat elf32-bigmips

NETBSD_VERS!=	sh ${S}/conf/osrelease.sh
CPPFLAGS+=	-DNETBSD_VERS='"${NETBSD_VERS}"'

PRIMARY_LOAD_ADDRESS?=	0x80600000
SECONDARY_LOAD_ADDRESS?=0x80610000

LDSCRIPT?=	${MIPSCO}/conf/stand.ldscript

.if defined(PRIMARY_PROG)
PROG=		${PRIMARY_PROG}
SRCS =		start.S bootxx.c callvec.c
SRCS+=		devopen.c conf.c saio.c
SRCS+=		prom.S

LOAD_ADDRESS=	${PRIMARY_LOAD_ADDRESS}

CPPFLAGS+=	-DPRIMARY_BOOTBLOCK \
		-DPRIMARY_LOAD_ADDRESS="${PRIMARY_LOAD_ADDRESS}" \
		-DNO_GETCHAR \
		-DLIBSA_NO_FS_SYMLINK -DLIBSA_NO_FS_WRITE \
		-DLIBSA_NO_FS_CLOSE \
		-DLIBSA_NO_DEV_CLOSE \
		-DLIBSA_SINGLE_DEVICE=saio \
		-D"saioioctl(x,y,z)=EINVAL" -D"saioclose(f)=0" \
		-DLIBSA_NO_TWIDDLE \
		-DLIBSA_NO_FD_CHECKING \
		-DLIBSA_NO_DISKLABEL_MSGS \
		-DLIBSA_NO_RAW_ACCESS \
		-DALLOC_FIRST_FIT \
		-DLIBSA_USE_MEMCPY -DLIBSA_USE_MEMSET


CHECKSIZE_CMD?=	SIZE=${SIZE} sh ${.CURDIR}/../common/checksize.sh

.elif defined(SECONDARY_PROG)
PROG=		${SECONDARY_PROG}
LOAD_ADDRESS=	${SECONDARY_LOAD_ADDRESS}
CPPFLAGS+=	-DSECONDARY_BOOTBLOCK
SRCS+=	vers.c
CLEANFILES+= vers.c
.else

.endif

### find out what to use for libkern
KERN_AS=	library
.include "${S}/lib/libkern/Makefile.inc"
LIBKERN=	${KERNLIB}

### find out what to use for libz
.if defined(PRIMARY_PROG)
LIBZ=
.else
Z_AS=		library
.include "${S}/lib/libz/Makefile.inc"
LIBZ=		${ZLIB}
.endif

### find out what to use for libsa
SA_AS=		library
.if defined(PRIMARY_PROG)
SAMISCMAKEFLAGS+=SA_INCLUDE_NET=no
.endif
.if defined(SECONDARY_PROG)
SAMISCMAKEFLAGS+=SA_USE_LOADFILE=yes SA_USE_CREAD=yes
# for now:
SAMISCMAKEFLAGS+=SA_INCLUDE_NET=no
.endif
.include "${S}/lib/libsa/Makefile.inc"
LIBSA=		${SALIB}

LIBS=		${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN}

.PHONY: vers.c
vers.c: ${.CURDIR}/version
	sh ${S}/conf/newvers_stand.sh -N ${.CURDIR}/version "mipsco"

${PROG}: machine-links ${LDSCRIPT} ${OBJS} ${LIBS}
	${LD} ${OFORMAT} -Map ${PROG}.map -N -x -Ttext ${LOAD_ADDRESS} \
	    -T ${LDSCRIPT} -e start -o ${PROG} ${OBJS} ${LIBS}
	@@${SIZE} ${PROG}
.if defined(PRIMARY_PROG)
	mv ${PROG} ${PROG}.elf
	${OBJCOPY} --strip-all -O ecoff-bigmips -R .reginfo ${PROG}.elf ${PROG}
.endif
.if defined(CHECKSIZE_CMD)
	@@${CHECKSIZE_CMD} ${PROG} ${PRIMARY_MAX_LOAD} || \
	    (rm -f ${PROG} ; false)
.endif

CLEANFILES+=	${PROG}.map ${PROG}.elf

cleandir distclean: cleanlibdir

cleanlibdir:
	rm -rf lib

.include <bsd.prog.mk>

/usr/lib/crt0.o:
	true
@


1.3
log
@objcopy -> ${OBJCOPY}; remove redundant definitions of OBJCOPY?= (it is
now in bsd.own.mk).
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.2 2000/09/26 09:11:04 wdk Exp $
d30 1
d39 1
a39 1
SECONDARY_LDSCRIPT?=	${MIPS}/conf/stand.ldscript.be
d113 2
a114 2
	${LD} -Map ${PROG}.map -N -x -Ttext ${LOAD_ADDRESS} -T ${LDSCRIPT} \
	    -e start -o ${PROG} ${OBJS} ${LIBS}
@


1.2
log
@Second stage bootstrap:
  -  Rename from boot.mipsco -> boot to be consistant with other ports
  -  use ELF format
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.1 2000/09/18 11:40:46 wdk Exp $
d117 1
a117 1
	@@objcopy --strip-all -O ecoff-bigmips -R .reginfo ${PROG}.elf ${PROG}
@


1.2.2.1
log
@file Makefile.booters was added on branch thorpej_scsipi on 2000-11-20 20:14:12 +0000
@
text
@d1 131
@


1.2.2.2
log
@Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
@
text
@a0 131
#	$NetBSD: Makefile.booters,v 1.2.2.1 2000/11/20 20:14:12 bouyer Exp $

S=	${.CURDIR}/../../../..
MIPS=	${S}/arch/mips
MIPSCO=	${S}/arch/mipsco

.PATH:	${.CURDIR}/../common

.PHONY:		machine-links
beforedepend:	machine-links
machine-links:	machine mipsco mips
machine mipsco:
	-rm -f ${.TARGET}
	ln -s ${MIPSCO}/include ${.TARGET}

mips:
	-rm -f ${.TARGET}
	ln -s ${MIPS}/include ${.TARGET}

CLEANFILES+=	machine mipsco mips

BINMODE?=	444

AFLAGS+=	-D_LOCORE -D_KERNEL
# -I${.CURDIR}/../.. done by Makefile.inc
CPPFLAGS+=	-nostdinc -D_STANDALONE -DNO_ABICALLS -D_NO_PROM_DEFINES
CPPFLAGS+=	-I${.OBJDIR} -I${S}
# compiler flags for smallest code size
CFLAGS=		-Os -mmemcpy -mno-abicalls -G 128

NETBSD_VERS!=	sh ${S}/conf/osrelease.sh
CPPFLAGS+=	-DNETBSD_VERS='"${NETBSD_VERS}"'

PRIMARY_LOAD_ADDRESS?=	0x80600000
SECONDARY_LOAD_ADDRESS?=0x80610000

PRIMARY_LDSCRIPT?=	${MIPSCO}/conf/stand.ldscript
SECONDARY_LDSCRIPT?=	${MIPS}/conf/stand.ldscript.be

.if defined(PRIMARY_PROG)
PROG=		${PRIMARY_PROG}
SRCS =		start.S bootxx.c callvec.c
SRCS+=		devopen.c conf.c saio.c
SRCS+=		prom.S

LOAD_ADDRESS=	${PRIMARY_LOAD_ADDRESS}
LDSCRIPT=	${PRIMARY_LDSCRIPT}

CPPFLAGS+=	-DPRIMARY_BOOTBLOCK \
		-DPRIMARY_LOAD_ADDRESS="${PRIMARY_LOAD_ADDRESS}" \
		-DNO_GETCHAR \
		-DLIBSA_NO_FS_SYMLINK -DLIBSA_NO_FS_WRITE \
		-DLIBSA_NO_FS_CLOSE \
		-DLIBSA_NO_DEV_CLOSE \
		-DLIBSA_SINGLE_DEVICE=saio \
		-D"saioioctl(x,y,z)=EINVAL" -D"saioclose(f)=0" \
		-DLIBSA_NO_TWIDDLE \
		-DLIBSA_NO_FD_CHECKING \
		-DLIBSA_NO_DISKLABEL_MSGS \
		-DLIBSA_NO_RAW_ACCESS \
		-DALLOC_FIRST_FIT \
		-DLIBSA_USE_MEMCPY -DLIBSA_USE_MEMSET


CHECKSIZE_CMD?=	SIZE=${SIZE} sh ${.CURDIR}/../common/checksize.sh

.elif defined(SECONDARY_PROG)
PROG=		${SECONDARY_PROG}
LOAD_ADDRESS=	${SECONDARY_LOAD_ADDRESS}
LDSCRIPT=	${SECONDARY_LDSCRIPT}
CPPFLAGS+=	-DSECONDARY_BOOTBLOCK
SRCS+=	vers.c
CLEANFILES+= vers.c
.else

.endif

### find out what to use for libkern
KERN_AS=	library
.include "${S}/lib/libkern/Makefile.inc"
LIBKERN=	${KERNLIB}

### find out what to use for libz
.if defined(PRIMARY_PROG)
LIBZ=
.else
Z_AS=		library
.include "${S}/lib/libz/Makefile.inc"
LIBZ=		${ZLIB}
.endif

### find out what to use for libsa
SA_AS=		library
.if defined(PRIMARY_PROG)
SAMISCMAKEFLAGS+=SA_INCLUDE_NET=no
.endif
.if defined(SECONDARY_PROG)
SAMISCMAKEFLAGS+=SA_USE_LOADFILE=yes SA_USE_CREAD=yes
# for now:
SAMISCMAKEFLAGS+=SA_INCLUDE_NET=no
.endif
.include "${S}/lib/libsa/Makefile.inc"
LIBSA=		${SALIB}

LIBS=		${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN}

.PHONY: vers.c
vers.c: ${.CURDIR}/version
	sh ${S}/conf/newvers_stand.sh -N ${.CURDIR}/version "mipsco"

${PROG}: machine-links ${LDSCRIPT} ${OBJS} ${LIBS}
	${LD} -Map ${PROG}.map -N -x -Ttext ${LOAD_ADDRESS} -T ${LDSCRIPT} \
	    -e start -o ${PROG} ${OBJS} ${LIBS}
	@@${SIZE} ${PROG}
.if defined(PRIMARY_PROG)
	@@mv ${PROG} ${PROG}.elf
	@@objcopy --strip-all -O ecoff-bigmips -R .reginfo ${PROG}.elf ${PROG}
.endif
.if defined(CHECKSIZE_CMD)
	@@${CHECKSIZE_CMD} ${PROG} ${PRIMARY_MAX_LOAD} || \
	    (rm -f ${PROG} ; false)
.endif

CLEANFILES+=	${PROG}.map

cleandir distclean: cleanlibdir

cleanlibdir:
	rm -rf lib

.include <bsd.prog.mk>
@


1.2.6.1
log
@Sync kqueue branch with -current.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.4 2001/10/05 05:03:30 simonb Exp $
a29 1
OFORMAT=	--oformat elf32-bigmips
d38 1
a38 1
SECONDARY_LDSCRIPT?=	${MIPS}/conf/stand.ldscript
d112 2
a113 2
	${LD} ${OFORMAT} -Map ${PROG}.map -N -x -Ttext ${LOAD_ADDRESS} \
	    -T ${LDSCRIPT} -e start -o ${PROG} ${OBJS} ${LIBS}
d117 1
a117 1
	@@${OBJCOPY} --strip-all -O ecoff-bigmips -R .reginfo ${PROG}.elf ${PROG}
@


1.2.4.1
log
@Catch up with -current.
@
text
@d1 1
a1 1
#	$NetBSD: Makefile.booters,v 1.3 2001/09/22 03:34:20 tv Exp $
d117 1
a117 1
	@@${OBJCOPY} --strip-all -O ecoff-bigmips -R .reginfo ${PROG}.elf ${PROG}
@


1.2.4.2
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.booters,v 1.2.4.1 2001/10/01 12:40:56 fvdl Exp $
a29 1
OFORMAT=	--oformat elf32-bigmips
d38 1
a38 1
SECONDARY_LDSCRIPT?=	${MIPS}/conf/stand.ldscript
d112 2
a113 2
	${LD} ${OFORMAT} -Map ${PROG}.map -N -x -Ttext ${LOAD_ADDRESS} \
	    -T ${LDSCRIPT} -e start -o ${PROG} ${OBJS} ${LIBS}
@


1.1
log
@Initial commit of a 2 stage bootloader for NetBSD/mipsco.   Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware.  A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length.  We need to add a "boot" entry of
the correct length starting at block 2.  The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
@
text
@d1 1
a1 1
#	$NetBSD$
a7 1
.BEGIN: machine mipsco mips
d9 4
a12 4
realdepend realall: machine mipsco mips
CLEANFILES+= machine mipsco mips

machine mipsco::
d16 1
a16 1
mips::
d20 2
a47 2
# Pick a number, any number...
PRIMARY_MAX_TOTAL!=	expr 16 \* 1024
d111 1
a111 1
${PROG}: machine mips mipsco ${LDSCRIPT} ${OBJS} ${LIBS}
d115 4
d120 1
a120 1
	@@${CHECKSIZE_CMD} ${PROG} ${PRIMARY_MAX_LOAD} ${PRIMARY_MAX_TOTAL} || \
@

