head	1.15;
access;
symbols
	netbsd-11-0-RC4:1.15
	netbsd-11-0-RC3:1.15
	netbsd-11-0-RC2:1.15
	netbsd-11-0-RC1:1.15
	perseant-exfatfs-base-20250801:1.15
	netbsd-11:1.15.0.12
	netbsd-11-base:1.15
	netbsd-10-1-RELEASE:1.15
	perseant-exfatfs-base-20240630:1.15
	perseant-exfatfs:1.15.0.10
	perseant-exfatfs-base:1.15
	netbsd-8-3-RELEASE:1.14
	netbsd-9-4-RELEASE:1.14
	netbsd-10-0-RELEASE:1.15
	netbsd-10-0-RC6:1.15
	netbsd-10-0-RC5:1.15
	netbsd-10-0-RC4:1.15
	netbsd-10-0-RC3:1.15
	netbsd-10-0-RC2:1.15
	thorpej-ifq:1.15.0.8
	thorpej-ifq-base:1.15
	thorpej-altq-separation:1.15.0.6
	thorpej-altq-separation-base:1.15
	netbsd-10-0-RC1:1.15
	netbsd-10:1.15.0.4
	netbsd-10-base:1.15
	bouyer-sunxi-drm:1.15.0.2
	bouyer-sunxi-drm-base:1.15
	netbsd-9-3-RELEASE:1.14
	thorpej-i2c-spi-conf2:1.14.0.40
	thorpej-i2c-spi-conf2-base:1.14
	thorpej-futex2:1.14.0.38
	thorpej-futex2-base:1.14
	thorpej-cfargs2:1.14.0.36
	thorpej-cfargs2-base:1.14
	cjep_sun2x-base1:1.14
	cjep_sun2x:1.14.0.34
	cjep_sun2x-base:1.14
	cjep_staticlib_x-base1:1.14
	netbsd-9-2-RELEASE:1.14
	cjep_staticlib_x:1.14.0.32
	cjep_staticlib_x-base:1.14
	thorpej-i2c-spi-conf:1.14.0.30
	thorpej-i2c-spi-conf-base:1.14
	thorpej-cfargs:1.14.0.28
	thorpej-cfargs-base:1.14
	thorpej-futex:1.14.0.26
	thorpej-futex-base:1.14
	netbsd-9-1-RELEASE:1.14
	bouyer-xenpvh-base2:1.14
	phil-wifi-20200421:1.14
	bouyer-xenpvh-base1:1.14
	phil-wifi-20200411:1.14
	bouyer-xenpvh:1.14.0.24
	bouyer-xenpvh-base:1.14
	is-mlppp:1.14.0.22
	is-mlppp-base:1.14
	phil-wifi-20200406:1.14
	netbsd-8-2-RELEASE:1.14
	ad-namecache-base3:1.14
	netbsd-9-0-RELEASE:1.14
	netbsd-9-0-RC2:1.14
	ad-namecache-base2:1.14
	ad-namecache-base1:1.14
	ad-namecache:1.14.0.20
	ad-namecache-base:1.14
	netbsd-9-0-RC1:1.14
	phil-wifi-20191119:1.14
	netbsd-9:1.14.0.18
	netbsd-9-base:1.14
	phil-wifi-20190609:1.14
	netbsd-8-1-RELEASE:1.14
	netbsd-8-1-RC1:1.14
	isaki-audio2:1.14.0.16
	isaki-audio2-base:1.14
	pgoyette-compat-merge-20190127:1.14
	pgoyette-compat-20190127:1.14
	pgoyette-compat-20190118:1.14
	pgoyette-compat-1226:1.14
	pgoyette-compat-1126:1.14
	pgoyette-compat-1020:1.14
	pgoyette-compat-0930:1.14
	pgoyette-compat-0906:1.14
	netbsd-7-2-RELEASE:1.13
	pgoyette-compat-0728:1.14
	netbsd-8-0-RELEASE:1.14
	phil-wifi:1.14.0.14
	phil-wifi-base:1.14
	pgoyette-compat-0625:1.14
	netbsd-8-0-RC2:1.14
	pgoyette-compat-0521:1.14
	pgoyette-compat-0502:1.14
	pgoyette-compat-0422:1.14
	netbsd-8-0-RC1:1.14
	pgoyette-compat-0415:1.14
	pgoyette-compat-0407:1.14
	pgoyette-compat-0330:1.14
	pgoyette-compat-0322:1.14
	pgoyette-compat-0315:1.14
	netbsd-7-1-2-RELEASE:1.13
	pgoyette-compat:1.14.0.12
	pgoyette-compat-base:1.14
	netbsd-7-1-1-RELEASE:1.13
	tls-maxphys-base-20171202:1.14
	matt-nb8-mediatek:1.14.0.10
	matt-nb8-mediatek-base:1.14
	nick-nhusb-base-20170825:1.14
	perseant-stdc-iso10646:1.14.0.8
	perseant-stdc-iso10646-base:1.14
	netbsd-8:1.14.0.6
	netbsd-8-base:1.14
	prg-localcount2-base3:1.14
	prg-localcount2-base2:1.14
	prg-localcount2-base1:1.14
	prg-localcount2:1.14.0.4
	prg-localcount2-base:1.14
	pgoyette-localcount-20170426:1.14
	bouyer-socketcan-base1:1.14
	jdolecek-ncq:1.14.0.2
	jdolecek-ncq-base:1.14
	pgoyette-localcount-20170320:1.13
	netbsd-7-1:1.13.0.16
	netbsd-7-1-RELEASE:1.13
	netbsd-7-1-RC2:1.13
	nick-nhusb-base-20170204:1.13
	netbsd-7-nhusb-base-20170116:1.13
	bouyer-socketcan:1.13.0.14
	bouyer-socketcan-base:1.13
	pgoyette-localcount-20170107:1.13
	netbsd-7-1-RC1:1.13
	nick-nhusb-base-20161204:1.13
	pgoyette-localcount-20161104:1.13
	netbsd-7-0-2-RELEASE:1.13
	nick-nhusb-base-20161004:1.13
	localcount-20160914:1.13
	netbsd-7-nhusb:1.13.0.12
	netbsd-7-nhusb-base:1.13
	pgoyette-localcount-20160806:1.13
	pgoyette-localcount-20160726:1.13
	pgoyette-localcount:1.13.0.10
	pgoyette-localcount-base:1.13
	nick-nhusb-base-20160907:1.13
	nick-nhusb-base-20160529:1.13
	netbsd-7-0-1-RELEASE:1.13
	nick-nhusb-base-20160422:1.13
	nick-nhusb-base-20160319:1.13
	nick-nhusb-base-20151226:1.13
	netbsd-7-0:1.13.0.8
	netbsd-7-0-RELEASE:1.13
	nick-nhusb-base-20150921:1.13
	netbsd-7-0-RC3:1.13
	netbsd-7-0-RC2:1.13
	netbsd-7-0-RC1:1.13
	nick-nhusb-base-20150606:1.13
	nick-nhusb-base-20150406:1.13
	nick-nhusb:1.13.0.6
	nick-nhusb-base:1.13
	netbsd-5-2-3-RELEASE:1.6
	netbsd-5-1-5-RELEASE:1.6
	netbsd-6-0-6-RELEASE:1.10
	netbsd-6-1-5-RELEASE:1.10
	netbsd-7:1.13.0.4
	netbsd-7-base:1.13
	yamt-pagecache-base9:1.13
	yamt-pagecache-tag8:1.9.4.1
	netbsd-6-1-4-RELEASE:1.10
	netbsd-6-0-5-RELEASE:1.10
	tls-earlyentropy:1.13.0.2
	tls-earlyentropy-base:1.13
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.13
	riastradh-drm2-base3:1.13
	netbsd-6-1-3-RELEASE:1.10
	netbsd-6-0-4-RELEASE:1.10
	netbsd-5-2-2-RELEASE:1.6
	netbsd-5-1-4-RELEASE:1.6
	netbsd-6-1-2-RELEASE:1.10
	netbsd-6-0-3-RELEASE:1.10
	netbsd-5-2-1-RELEASE:1.6
	netbsd-5-1-3-RELEASE:1.6
	rmind-smpnet-nbase:1.13
	netbsd-6-1-1-RELEASE:1.10
	riastradh-drm2-base2:1.10
	riastradh-drm2-base1:1.10
	riastradh-drm2:1.10.0.18
	riastradh-drm2-base:1.10
	rmind-smpnet:1.10.0.10
	rmind-smpnet-base:1.13
	netbsd-6-1:1.10.0.16
	netbsd-6-0-2-RELEASE:1.10
	netbsd-6-1-RELEASE:1.10
	khorben-n900:1.10.0.14
	netbsd-6-1-RC4:1.10
	netbsd-6-1-RC3:1.10
	agc-symver:1.10.0.12
	agc-symver-base:1.10
	netbsd-6-1-RC2:1.10
	netbsd-6-1-RC1:1.10
	yamt-pagecache-base8:1.10
	netbsd-5-2:1.6.0.100
	netbsd-6-0-1-RELEASE:1.10
	yamt-pagecache-base7:1.10
	netbsd-5-2-RELEASE:1.6
	netbsd-5-2-RC1:1.6
	matt-nb6-plus-nbase:1.10
	yamt-pagecache-base6:1.10
	netbsd-6-0:1.10.0.8
	netbsd-6-0-RELEASE:1.10
	netbsd-6-0-RC2:1.10
	tls-maxphys:1.10.0.6
	tls-maxphys-base:1.13
	matt-nb6-plus:1.10.0.4
	matt-nb6-plus-base:1.10
	netbsd-6-0-RC1:1.10
	jmcneill-usbmp-base10:1.10
	yamt-pagecache-base5:1.10
	jmcneill-usbmp-base9:1.10
	yamt-pagecache-base4:1.10
	jmcneill-usbmp-base8:1.10
	jmcneill-usbmp-base7:1.10
	jmcneill-usbmp-base6:1.10
	jmcneill-usbmp-base5:1.10
	jmcneill-usbmp-base4:1.10
	jmcneill-usbmp-base3:1.10
	jmcneill-usbmp-pre-base2:1.9
	jmcneill-usbmp-base2:1.10
	netbsd-6:1.10.0.2
	netbsd-6-base:1.10
	netbsd-5-1-2-RELEASE:1.6
	netbsd-5-1-1-RELEASE:1.6
	jmcneill-usbmp:1.9.0.8
	jmcneill-usbmp-base:1.9
	jmcneill-audiomp3:1.9.0.6
	jmcneill-audiomp3-base:1.9
	yamt-pagecache-base3:1.9
	yamt-pagecache-base2:1.9
	yamt-pagecache:1.9.0.4
	yamt-pagecache-base:1.9
	rmind-uvmplock-nbase:1.9
	cherry-xenmp:1.9.0.2
	cherry-xenmp-base:1.9
	jym-xensuspend-nbase:1.9
	uebayasi-xip-base7:1.8
	bouyer-quota2-nbase:1.9
	bouyer-quota2:1.7.0.10
	bouyer-quota2-base:1.8
	jruoho-x86intr:1.7.0.8
	jruoho-x86intr-base:1.7
	matt-mips64-premerge-20101231:1.7
	matt-nb5-mips64-premerge-20101231:1.6
	matt-nb5-pq3:1.6.0.98
	matt-nb5-pq3-base:1.6
	netbsd-5-1:1.6.0.96
	uebayasi-xip-base6:1.7
	uebayasi-xip-base5:1.7
	netbsd-5-1-RELEASE:1.6
	uebayasi-xip-base4:1.7
	uebayasi-xip-base3:1.7
	yamt-nfs-mp-base11:1.7
	netbsd-5-1-RC4:1.6
	matt-nb5-mips64-k15:1.6
	uebayasi-xip-base2:1.7
	yamt-nfs-mp-base10:1.7
	netbsd-5-1-RC3:1.6
	netbsd-5-1-RC2:1.6
	uebayasi-xip-base1:1.7
	netbsd-5-1-RC1:1.6
	rmind-uvmplock:1.7.0.6
	rmind-uvmplock-base:1.9
	yamt-nfs-mp-base9:1.7
	uebayasi-xip:1.7.0.4
	uebayasi-xip-base:1.7
	netbsd-5-0-2-RELEASE:1.6
	matt-nb5-mips64-premerge-20091211:1.6
	matt-premerge-20091211:1.7
	yamt-nfs-mp-base8:1.7
	matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.6
	matt-nb4-mips64-k7-u2a-k9b:1.6
	matt-nb5-mips64-u1-k1-k5:1.6
	yamt-nfs-mp-base7:1.7
	matt-nb5-mips64:1.6.0.94
	netbsd-5-0-1-RELEASE:1.6
	jymxensuspend-base:1.7
	yamt-nfs-mp-base6:1.7
	yamt-nfs-mp-base5:1.7
	yamt-nfs-mp-base4:1.7
	yamt-nfs-mp-base3:1.7
	nick-hppapmap-base4:1.7
	nick-hppapmap-base3:1.7
	netbsd-5-0:1.6.0.92
	netbsd-5-0-RELEASE:1.6
	netbsd-5-0-RC4:1.6
	netbsd-5-0-RC3:1.6
	nick-hppapmap-base2:1.7
	netbsd-5-0-RC2:1.6
	jym-xensuspend:1.7.0.2
	jym-xensuspend-base:1.9
	netbsd-5-0-RC1:1.6
	haad-dm-base2:1.6
	haad-nbase2:1.6
	ad-audiomp2:1.6.0.90
	ad-audiomp2-base:1.6
	netbsd-5:1.6.0.88
	netbsd-5-base:1.6
	nick-hppapmap:1.6.0.86
	nick-hppapmap-base:1.7
	matt-mips64-base2:1.6
	haad-dm-base1:1.6
	wrstuden-revivesa-base-4:1.6
	netbsd-4-0-1-RELEASE:1.6
	wrstuden-revivesa-base-3:1.6
	wrstuden-revivesa-base-2:1.6
	wrstuden-fixsa-newbase:1.6
	nick-csl-alignment-base5:1.6
	haad-dm:1.6.0.84
	haad-dm-base:1.6
	wrstuden-revivesa-base-1:1.6
	simonb-wapbl-nbase:1.6
	yamt-pf42-base4:1.6
	simonb-wapbl:1.6.0.82
	simonb-wapbl-base:1.6
	yamt-pf42-base3:1.6
	hpcarm-cleanup-nbase:1.6
	yamt-pf42-baseX:1.6
	yamt-pf42-base2:1.6
	yamt-nfs-mp-base2:1.6
	wrstuden-revivesa:1.6.0.80
	wrstuden-revivesa-base:1.6
	yamt-nfs-mp:1.6.0.78
	yamt-nfs-mp-base:1.6
	yamt-pf42:1.6.0.76
	yamt-pf42-base:1.6
	ad-socklock-base1:1.6
	yamt-lazymbuf-base15:1.6
	yamt-lazymbuf-base14:1.6
	keiichi-mipv6-nbase:1.6
	mjf-devfs2:1.6.0.74
	mjf-devfs2-base:1.7
	nick-net80211-sync:1.6.0.72
	nick-net80211-sync-base:1.6
	keiichi-mipv6:1.6.0.70
	keiichi-mipv6-base:1.6
	bouyer-xeni386-merge1:1.6
	matt-armv6-prevmlocking:1.6
	wrstuden-fixsa-base-1:1.6
	vmlocking2-base3:1.6
	netbsd-4-0:1.6.0.68
	netbsd-4-0-RELEASE:1.6
	bouyer-xeni386-nbase:1.6
	yamt-kmem-base3:1.6
	cube-autoconf:1.6.0.66
	cube-autoconf-base:1.6
	yamt-kmem-base2:1.6
	bouyer-xeni386:1.6.0.64
	bouyer-xeni386-base:1.6
	yamt-kmem:1.6.0.62
	yamt-kmem-base:1.6
	vmlocking2-base2:1.6
	reinoud-bufcleanup-nbase:1.6
	vmlocking2:1.6.0.60
	vmlocking2-base1:1.6
	netbsd-4-0-RC5:1.6
	matt-nb4-arm:1.6.0.58
	matt-nb4-arm-base:1.6
	matt-armv6-nbase:1.6
	jmcneill-base:1.6
	netbsd-4-0-RC4:1.6
	mjf-devfs:1.6.0.56
	mjf-devfs-base:1.6
	bouyer-xenamd64-base2:1.6
	vmlocking-nbase:1.6
	yamt-x86pmap-base4:1.6
	bouyer-xenamd64:1.6.0.54
	bouyer-xenamd64-base:1.6
	netbsd-4-0-RC3:1.6
	yamt-x86pmap-base3:1.6
	yamt-x86pmap-base2:1.6
	netbsd-4-0-RC2:1.6
	yamt-x86pmap:1.6.0.52
	yamt-x86pmap-base:1.6
	netbsd-4-0-RC1:1.6
	matt-armv6:1.6.0.50
	matt-armv6-base:1.6
	jmcneill-pm:1.6.0.48
	jmcneill-pm-base:1.6
	hpcarm-cleanup:1.6.0.46
	hpcarm-cleanup-base:1.6
	nick-csl-alignment:1.6.0.44
	nick-csl-alignment-base:1.6
	matt-mips64:1.6.0.42
	matt-mips64-base:1.6
	netbsd-3-1-1-RELEASE:1.5
	netbsd-3-0-3-RELEASE:1.5
	yamt-idlelwp-base8:1.6
	wrstuden-fixsa:1.6.0.40
	wrstuden-fixsa-base:1.6
	ppcoea-renovation:1.6.0.38
	ppcoea-renovation-base:1.6
	thorpej-atomic:1.6.0.36
	thorpej-atomic-base:1.6
	reinoud-bufcleanup:1.6.0.34
	reinoud-bufcleanup-base:1.6
	mjf-ufs-trans:1.6.0.32
	mjf-ufs-trans-base:1.6
	vmlocking:1.6.0.30
	vmlocking-base:1.6
	ad-audiomp:1.6.0.28
	ad-audiomp-base:1.6
	yamt-idlelwp:1.6.0.26
	post-newlock2-merge:1.6
	newlock2-nbase:1.6
	yamt-splraiseipl-base5:1.6
	yamt-splraiseipl-base4:1.6
	yamt-splraiseipl-base3:1.6
	abandoned-netbsd-4-base:1.6
	abandoned-netbsd-4:1.6.0.18
	netbsd-3-1:1.5.0.22
	netbsd-3-1-RELEASE:1.5
	netbsd-3-0-2-RELEASE:1.5
	yamt-splraiseipl-base2:1.6
	netbsd-3-1-RC4:1.5
	yamt-splraiseipl:1.6.0.22
	yamt-splraiseipl-base:1.6
	netbsd-3-1-RC3:1.5
	yamt-pdpolicy-base9:1.6
	newlock2:1.6.0.20
	newlock2-base:1.6
	yamt-pdpolicy-base8:1.6
	netbsd-3-1-RC2:1.5
	netbsd-3-1-RC1:1.5
	yamt-pdpolicy-base7:1.6
	netbsd-4:1.6.0.24
	netbsd-4-base:1.6
	yamt-pdpolicy-base6:1.6
	chap-midi-nbase:1.6
	netbsd-3-0-1-RELEASE:1.5
	gdamore-uart:1.6.0.16
	gdamore-uart-base:1.6
	simonb-timcounters-final:1.6
	yamt-pdpolicy-base5:1.6
	chap-midi:1.6.0.14
	chap-midi-base:1.6
	yamt-pdpolicy-base4:1.6
	yamt-pdpolicy-base3:1.6
	peter-altq-base:1.6
	peter-altq:1.6.0.12
	yamt-pdpolicy-base2:1.6
	elad-kernelauth-base:1.6
	elad-kernelauth:1.6.0.10
	yamt-pdpolicy:1.6.0.8
	yamt-pdpolicy-base:1.6
	yamt-uio_vmspace-base5:1.6
	simonb-timecounters:1.6.0.6
	simonb-timecounters-base:1.6
	rpaulo-netinet-merge-pcb:1.6.0.4
	rpaulo-netinet-merge-pcb-base:1.6
	yamt-uio_vmspace:1.6.0.2
	netbsd-3-0:1.5.0.20
	netbsd-3-0-RELEASE:1.5
	netbsd-3-0-RC6:1.5
	yamt-readahead-base3:1.5
	netbsd-3-0-RC5:1.5
	netbsd-3-0-RC4:1.5
	netbsd-3-0-RC3:1.5
	yamt-readahead-base2:1.5
	netbsd-3-0-RC2:1.5
	yamt-readahead-pervnode:1.5
	yamt-readahead-perfile:1.5
	yamt-readahead:1.5.0.18
	yamt-readahead-base:1.5
	netbsd-3-0-RC1:1.5
	yamt-vop-base3:1.5
	netbsd-2-0-3-RELEASE:1.4.2.1
	netbsd-2-1:1.4.2.1.0.4
	yamt-vop-base2:1.5
	thorpej-vnode-attr:1.5.0.16
	thorpej-vnode-attr-base:1.5
	netbsd-2-1-RELEASE:1.4.2.1
	yamt-vop:1.5.0.14
	yamt-vop-base:1.5
	netbsd-2-1-RC6:1.4.2.1
	netbsd-2-1-RC5:1.4.2.1
	netbsd-2-1-RC4:1.4.2.1
	netbsd-2-1-RC3:1.4.2.1
	netbsd-2-1-RC2:1.4.2.1
	netbsd-2-1-RC1:1.4.2.1
	yamt-lazymbuf:1.5.0.12
	yamt-km-base4:1.5
	netbsd-2-0-2-RELEASE:1.4.2.1
	yamt-km-base3:1.5
	netbsd-3:1.5.0.10
	netbsd-3-base:1.5
	yamt-km-base2:1.5
	yamt-km:1.5.0.6
	yamt-km-base:1.5
	kent-audio2:1.5.0.4
	kent-audio2-base:1.5
	netbsd-2-0-1-RELEASE:1.4.2.1
	kent-audio1-beforemerge:1.5
	netbsd-2:1.4.2.1.0.2
	netbsd-2-base:1.4.2.1
	kent-audio1:1.5.0.2
	kent-audio1-base:1.5
	netbsd-2-0-RELEASE:1.4.2.1
	netbsd-2-0-RC5:1.4.2.1
	netbsd-2-0-RC4:1.4.2.1
	netbsd-2-0-RC3:1.4.2.1
	netbsd-2-0-RC2:1.4.2.1
	netbsd-2-0-RC1:1.4.2.1
	netbsd-2-0:1.4.0.2
	netbsd-2-0-base:1.4
	ktrace-lwp:1.2.0.6
	ktrace-lwp-base:1.5
	nathanw_sa_end:1.1.2.3
	nathanw_sa_before_merge:1.2
	fvdl_fs64_base:1.2
	gmcgarry_ctxsw:1.2.0.4
	gmcgarry_ctxsw_base:1.2
	gmcgarry_ucred:1.2.0.2
	gmcgarry_ucred_base:1.2
	nathanw_sa_base:1.2
	nathanw_sa:1.1.0.2;
locks; strict;
comment	@# @;


1.15
date	2022.05.28.22.16.43;	author andvar;	state Exp;
branches;
next	1.14;
commitid	hAfSsjsL42hM9SFD;

1.14
date	2017.04.08.19.53.22;	author christos;	state Exp;
branches;
next	1.13;

1.13
date	2014.01.16.01.15.34;	author christos;	state Exp;
branches
	1.13.6.1
	1.13.10.1
	1.13.14.1;
next	1.12;

1.12
date	2014.01.12.15.26.30;	author tsutsui;	state Exp;
branches;
next	1.11;

1.11
date	2013.08.21.06.27.54;	author matt;	state Exp;
branches;
next	1.10;

1.10
date	2012.01.19.19.58.16;	author matt;	state Exp;
branches
	1.10.6.1
	1.10.10.1;
next	1.9;

1.9
date	2011.02.20.07.47.39;	author matt;	state Exp;
branches
	1.9.4.1
	1.9.8.1;
next	1.8;

1.8
date	2011.01.22.19.19.22;	author joerg;	state Exp;
branches;
next	1.7;

1.7
date	2009.01.12.07.30.45;	author tsutsui;	state Exp;
branches
	1.7.6.1
	1.7.8.1
	1.7.10.1;
next	1.6;

1.6
date	2005.12.11.12.18.51;	author christos;	state Exp;
branches
	1.6.74.1
	1.6.78.1
	1.6.86.1;
next	1.5;

1.5
date	2004.06.21.18.20.09;	author jmc;	state Exp;
branches;
next	1.4;

1.4
date	2003.10.26.07.25.37;	author lukem;	state Exp;
branches
	1.4.2.1;
next	1.3;

1.3
date	2003.10.08.01.40.23;	author simonb;	state Exp;
branches;
next	1.2;

1.2
date	2002.11.12.19.34.40;	author cgd;	state Exp;
branches
	1.2.6.1;
next	1.1;

1.1
date	2002.11.09.06.20.37;	author cgd;	state Exp;
branches
	1.1.2.1;
next	;

1.13.6.1
date	2017.08.28.17.51.50;	author skrll;	state Exp;
branches;
next	;
commitid	UQQpnjvcNkUZn05A;

1.13.10.1
date	2017.04.26.02.53.06;	author pgoyette;	state Exp;
branches;
next	;

1.13.14.1
date	2017.04.21.16.53.35;	author bouyer;	state Exp;
branches;
next	;

1.10.6.1
date	2014.08.20.00.03.22;	author tls;	state Exp;
branches;
next	1.10.6.2;

1.10.6.2
date	2017.12.03.11.36.40;	author jdolecek;	state Exp;
branches;
next	;
commitid	XcIYRZTAh1LmerhA;

1.10.10.1
date	2013.08.28.23.59.21;	author rmind;	state Exp;
branches;
next	1.10.10.2;

1.10.10.2
date	2014.05.18.17.45.24;	author rmind;	state Exp;
branches;
next	;

1.9.4.1
date	2012.04.17.00.06.50;	author yamt;	state Exp;
branches;
next	1.9.4.2;

1.9.4.2
date	2014.05.22.11.40.06;	author yamt;	state Exp;
branches;
next	;

1.9.8.1
date	2012.02.18.07.33.06;	author mrg;	state Exp;
branches;
next	;

1.7.6.1
date	2011.03.05.20.51.51;	author rmind;	state Exp;
branches;
next	;

1.7.8.1
date	2011.06.06.09.06.38;	author jruoho;	state Exp;
branches;
next	;

1.7.10.1
date	2011.02.08.16.19.38;	author bouyer;	state Exp;
branches;
next	1.7.10.2;

1.7.10.2
date	2011.03.05.15.10.01;	author bouyer;	state Exp;
branches;
next	;

1.6.74.1
date	2009.01.17.13.28.28;	author mjf;	state Exp;
branches;
next	;

1.6.78.1
date	2009.05.04.08.11.48;	author yamt;	state Exp;
branches;
next	;

1.6.86.1
date	2009.01.19.13.16.42;	author skrll;	state Exp;
branches;
next	;

1.4.2.1
date	2004.06.22.07.53.35;	author tron;	state Exp;
branches;
next	;

1.2.6.1
date	2004.08.03.10.40.00;	author skrll;	state Exp;
branches;
next	1.2.6.2;

1.2.6.2
date	2004.09.18.14.39.42;	author skrll;	state Exp;
branches;
next	1.2.6.3;

1.2.6.3
date	2004.09.21.13.21.13;	author skrll;	state Exp;
branches;
next	;

1.1.2.1
date	2002.11.09.06.20.37;	author nathanw;	state dead;
branches;
next	1.1.2.2;

1.1.2.2
date	2002.11.11.22.03.20;	author nathanw;	state Exp;
branches;
next	1.1.2.3;

1.1.2.3
date	2002.12.11.06.11.52;	author thorpej;	state Exp;
branches;
next	;


desc
@@


1.15
log
@fix various typos in comments.
@
text
@# $NetBSD: Makefile.bootprogs,v 1.14 2017/04/08 19:53:22 christos Exp $

.include <bsd.own.mk>
.include <bsd.klinks.mk>

S=	${.CURDIR}/../../../..

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

STRIPFLAG=
BINMODE= 444

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

STRIP?=	strip

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

AFLAGS+=	-DASSEMBLER -D_LOCORE -mno-abicalls -mips64
# -I${.CURDIR}/../.. done by Makefile.inc
CPPFLAGS+=	-nostdinc -I${.OBJDIR} -D_STANDALONE -I${S}
CFLAGS=		-Os -g -ffreestanding -mno-abicalls -msoft-float -G 0
CFLAGS+=	-mips64
CFLAGS+=	-Werror ${CWARNFLAGS}

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

CWARNFLAGS+=	-Wno-main 
CWARNFLAGS+=	-Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
CWARNFLAGS+=	-Wno-pointer-sign

VERSIONFLAGS+=-n
.include "${S}/conf/newvers_stand.mk"

# 
# Refer to CFE documentation for a description of these regions.
# 

REGION1_START=		0x20000000		# "Region 1 start"
REGION1_SIZE!=		expr 256 \* 1024	# 256k

LDSCRIPT=		${.CURDIR}/../common/boot.ldscript

# our memory lauout:

#	'unified' boot loaders (e.g. netboot) can consume all of region
#	1 for their text+data, or text+data+bss.

UNIFIED_LOAD_ADDRESS=	${REGION1_START}
UNIFIED_MAX_LOAD!=	expr ${REGION1_SIZE}
UNIFIED_MAX_TOTAL!=	expr ${REGION1_SIZE}

#UNIFIED_HEAP_START=	right after secondary bss
UNIFIED_HEAP_LIMIT=	(${REGION1_START} + ${REGION1_SIZE})

#	two-stage boot loaders must share region 1.  The first stage
#	loads into the lowest portion, and uses the highest portion
#	for its heap.  The second stage loads in between the primary image
#	and the heap, and can reuse the memory after it (i.e. the primary's
#	heap) for its own heap.

PRIMARY_LOAD_ADDRESS=	${REGION1_START}
#PRIMARY_MAX_LOAD=	booter dependent, no more than ${PRIMARY_MAX_TOTAL}
PRIMARY_MAX_TOTAL!=	expr 16 \* 1024

# XXX SECONDARY_LOAD_ADDRESS should be
# XXX (${PRIMARY_LOAD_ADDRESS} + ${PRIMARY_MAX_TOTAL}) bt there's no easy
# XXX way to do that calculation and 'ld' wants a single number.
SECONDARY_LOAD_ADDRESS=	0x20004000	# XXX
SECONDARY_MAX_LOAD!=	expr 112 \* 1024
SECONDARY_MAX_TOTAL!=	expr ${REGION1_SIZE} - ${PRIMARY_MAX_TOTAL}

PRIMARY_HEAP_START=	(${SECONDARY_LOAD_ADDRESS} + ${SECONDARY_MAX_LOAD})
PRIMARY_HEAP_LIMIT=	(${REGION1_START} + ${REGION1_SIZE})

#SECONDARY_HEAP_START=	right after secondary bss
SECONDARY_HEAP_LIMIT=	(${REGION1_START} + ${REGION1_SIZE})

#	standalone programs are like kernels.  They load at
#	0xfffffc0000300000 and can use the rest of memory.

STANDPROG_LOAD_ADDRESS=	0xfffffc0000300000


FILE_FORMAT_CPPFLAGS=	-DBOOT_ELF

UNIFIED_CPPFLAGS=	-DUNIFIED_BOOTBLOCK \
			-DHEAP_LIMIT="${UNIFIED_HEAP_LIMIT}" \
			${FILE_FORMAT_CPPFLAGS}

PRIMARY_CPPFLAGS=	-DPRIMARY_BOOTBLOCK \
			-DSECONDARY_LOAD_ADDRESS="${SECONDARY_LOAD_ADDRESS}" \
			-DSECONDARY_MAX_LOAD="${SECONDARY_MAX_LOAD}" \
			-DHEAP_LIMIT="${PRIMARY_HEAP_LIMIT}" \
			-DHEAP_START="${PRIMARY_HEAP_START}"

SECONDARY_CPPFLAGS=	-DSECONDARY_BOOTBLOCK \
			-DHEAP_LIMIT="${SECONDARY_HEAP_LIMIT}" \
			${FILE_FORMAT_CPPFLAGS}

STANDPROG_CPPFLAGS=	-DSTANDALONE_PROGRAM

.include <bsd.prog.mk>

### 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
Z_AS=		library
.include "${S}/lib/libz/Makefile.inc"
LIBZ=		${ZLIB}

### find out what to use for libsa
SA_AS=		library
SAMISCMAKEFLAGS+="SA_USE_LOADFILE=yes"
.include "${S}/lib/libsa/Makefile.inc"
LIBSA=		${SALIB}

/usr/lib/crt0.o:
	true

/usr/lib/crtbegin.o:
	true

/usr/lib/crtend.o:
	true

cleandir: .WAIT cleandirlocal
cleandirlocal:
	-rm -rf lib
@


1.14
log
@centralize vers.c building for standalone programs.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.13 2014/01/16 01:15:34 christos Exp $
d63 1
a63 1
#	loads into the lowest portion, and uses the higest portion
@


1.13
log
@eliminate use of bsd.sys.mk from Makefiles
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.12 2014/01/12 15:26:30 tsutsui Exp $
d38 2
a39 11
# if there is a 'version' file, add rule for vers.c and add it to SRCS
# and CLEANFILES
.if exists(version)
.PHONY: vers.c
vers.c: version
	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
	    -N ${.CURDIR}/version "sbmips"

SRCS+=	vers.c
CLEANFILES+= vers.c
.endif
@


1.13.6.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.14 2017/04/08 19:53:22 christos Exp $
d38 11
a48 2
VERSIONFLAGS+=-n
.include "${S}/conf/newvers_stand.mk"
@


1.13.10.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.14 2017/04/08 19:53:22 christos Exp $
d38 11
a48 2
VERSIONFLAGS+=-n
.include "${S}/conf/newvers_stand.mk"
@


1.13.14.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.14 2017/04/08 19:53:22 christos Exp $
d38 11
a48 2
VERSIONFLAGS+=-n
.include "${S}/conf/newvers_stand.mk"
@


1.12
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.bootprogs,v 1.11 2013/08/21 06:27:54 matt Exp $
a4 1
.include <bsd.sys.mk>		# for HOST_SH
@


1.11
log
@Use <bsd.klinks.mk>
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.10 2012/01/19 19:58:16 matt Exp $
d16 1
@


1.10
log
@Use a ldscript to make sure boot programs are linked correctly.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.9 2011/02/20 07:47:39 matt Exp $
d4 1
a23 12
.PHONY: machine-links
beforedepend: machine-links .WAIT
# ${MACHINE} then ${MACHINE_ARCH}
machine-links:
	-rm -f machine && \
	    ln -s $S/arch/sbmips/include machine
	-rm -f mips && \
	    ln -s $S/arch/mips/include mips
CLEANFILES+=machine mips

realall: machine-links ${PROG}

@


1.10.6.1
log
@Rebase to HEAD as of a few days ago.
@
text
@d1 1
a1 1
# $NetBSD$
d4 1
a4 1
.include <bsd.klinks.mk>
a14 1
LIBCRTI=
d23 12
@


1.10.6.2
log
@update from HEAD
@
text
@d38 11
a48 2
VERSIONFLAGS+=-n
.include "${S}/conf/newvers_stand.mk"
@


1.10.10.1
log
@sync with head
@
text
@d1 1
a1 1
# $NetBSD$
a3 1
.include <bsd.klinks.mk>
d23 12
@


1.10.10.2
log
@sync with head
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.10.10.1 2013/08/28 23:59:21 rmind Exp $
d5 1
a15 1
LIBCRTI=
@


1.9
log
@Merge from matt-nb5-mips64.
Add pci support.
new interrupt code.
Adapt to new world order for MIPS
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.8 2011/01/22 19:19:22 joerg Exp $
d68 2
@


1.9.4.1
log
@sync with head
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.9 2011/02/20 07:47:39 matt Exp $
a67 2
LDSCRIPT=		${.CURDIR}/../common/boot.ldscript

@


1.9.4.2
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.bootprogs,v 1.9.4.1 2012/04/17 00:06:50 yamt Exp $
d4 1
a4 1
.include <bsd.klinks.mk>
a14 1
LIBCRTI=
d23 12
@


1.9.8.1
log
@merge to -current.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.10 2012/01/19 19:58:16 matt Exp $
a67 2
LDSCRIPT=		${.CURDIR}/../common/boot.ldscript

@


1.8
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/sbmips/stand/Makefile.bootprogs,v 1.7 2009-01-12 07:30:45 tsutsui Exp $
d24 1
a24 1
beforedepend: machine-links
d35 1
a35 1
AFLAGS+=	-DASSEMBLER -D_LOCORE -mno-abicalls
d39 1
d109 1
a109 1
FILE_FORMAT_CPPFLAGS=	-DBOOT_ECOFF -DBOOT_ELF
a144 1

d154 1
a154 1
cleandir: cleandirlocal
@


1.7
log
@WARNSfy
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.6 2005/12/11 12:18:51 christos Exp $
d3 1
d53 2
a54 1
	${HOST_SH} ${S}/conf/newvers_stand.sh -N ${.CURDIR}/version "sbmips"
@


1.7.8.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.9 2011/02/20 07:47:39 matt Exp $
a2 1
.include <bsd.own.mk>
d23 1
a23 1
beforedepend: machine-links .WAIT
d34 1
a34 1
AFLAGS+=	-DASSEMBLER -D_LOCORE -mno-abicalls -mips64
a37 1
CFLAGS+=	-mips64
d52 1
a52 2
	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
	    -N ${.CURDIR}/version "sbmips"
d106 1
a106 1
FILE_FORMAT_CPPFLAGS=	-DBOOT_ELF
d142 1
d152 1
a152 1
cleandir: .WAIT cleandirlocal
@


1.7.6.1
log
@sync with head
@
text
@d1 1
a1 1
# $NetBSD$
a2 1
.include <bsd.own.mk>
d23 1
a23 1
beforedepend: machine-links .WAIT
d34 1
a34 1
AFLAGS+=	-DASSEMBLER -D_LOCORE -mno-abicalls -mips64
a37 1
CFLAGS+=	-mips64
d52 1
a52 2
	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
	    -N ${.CURDIR}/version "sbmips"
d106 1
a106 1
FILE_FORMAT_CPPFLAGS=	-DBOOT_ELF
d142 1
d152 1
a152 1
cleandir: .WAIT cleandirlocal
@


1.7.10.1
log
@Sync with HEAD
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.8 2011/01/22 19:19:22 joerg Exp $
a2 1
.include <bsd.own.mk>
d52 1
a52 2
	${HOST_SH} ${S}/conf/newvers_stand.sh ${${MKREPRO} == "yes" :?:-D} \
	    -N ${.CURDIR}/version "sbmips"
@


1.7.10.2
log
@Sync with HEAD
@
text
@d1 1
a1 1
# $NetBSD$
d24 1
a24 1
beforedepend: machine-links .WAIT
d35 1
a35 1
AFLAGS+=	-DASSEMBLER -D_LOCORE -mno-abicalls -mips64
a38 1
CFLAGS+=	-mips64
d108 1
a108 1
FILE_FORMAT_CPPFLAGS=	-DBOOT_ELF
d144 1
d154 1
a154 1
cleandir: .WAIT cleandirlocal
@


1.6
log
@merge ktrace-lwp.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.2.6.3 2004/09/21 13:21:13 skrll Exp $
d38 1
d44 2
@


1.6.78.1
log
@sync with head.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.6 2005/12/11 12:18:51 christos Exp $
a37 1
CFLAGS+=	-Werror ${CWARNFLAGS}
a42 2
CWARNFLAGS+=	-Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
CWARNFLAGS+=	-Wno-pointer-sign
@


1.6.86.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.7 2009/01/12 07:30:45 tsutsui Exp $
a37 1
CFLAGS+=	-Werror ${CWARNFLAGS}
a42 2
CWARNFLAGS+=	-Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
CWARNFLAGS+=	-Wno-pointer-sign
@


1.6.74.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
# $NetBSD$
a37 1
CFLAGS+=	-Werror ${CWARNFLAGS}
a42 2
CWARNFLAGS+=	-Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
CWARNFLAGS+=	-Wno-pointer-sign
@


1.5
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.bootprogs,v 1.4 2003/10/26 07:25:37 lukem Exp $
@


1.4
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.bootprogs,v 1.3 2003/10/08 01:40:23 simonb Exp $
d151 1
a151 1
	rm -rf lib
@


1.4.2.1
log
@Pull up revision 1.5 (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$
d151 1
a151 1
	-rm -rf lib
@


1.3
log
@Define LIB{CRT0,C,CRTBEGIN,CRTEND} as nothing, we don't need to link
against them.
@
text
@d1 3
a3 1
# $NetBSD: Makefile.bootprogs,v 1.2 2002/11/12 19:34:40 cgd Exp $
d20 1
a20 1
CHECKSIZE_CMD=	SIZE=${SIZE} sh ${.CURDIR}/../common/checksize.sh
d39 1
a39 1
NETBSD_VERS!=sh ${.CURDIR}/../../../../conf/osrelease.sh
d49 1
a49 1
	sh ${S}/conf/newvers_stand.sh -N ${.CURDIR}/version "sbmips"
@


1.2
log
@to catch up with the recent gcc compiler driver changes, add -mno-abicalls
to AFLAGS.  In CFLAGS, remote -mno-half-pic (unneeded), and add -msoft-float
(needed for gcc 3.3).
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.1 2002/11/09 06:20:37 cgd Exp $
d9 6
@


1.2.6.1
log
@Sync with HEAD
@
text
@d1 1
a1 3
# $NetBSD: Makefile.bootprogs,v 1.5 2004/06/21 18:20:09 jmc Exp $

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

d12 1
a12 1
CHECKSIZE_CMD=	SIZE=${SIZE} ${HOST_SH} ${.CURDIR}/../common/checksize.sh
d31 1
a31 1
NETBSD_VERS!=${HOST_SH} ${.CURDIR}/../../../../conf/osrelease.sh
d41 1
a41 1
	${HOST_SH} ${S}/conf/newvers_stand.sh -N ${.CURDIR}/version "sbmips"
d143 1
a143 1
	-rm -rf lib
@


1.2.6.2
log
@Sync with HEAD.
@
text
@@


1.2.6.3
log
@Fix the sync with head I botched.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.2.6.1 2004/08/03 10:40:00 skrll Exp $
@


1.1
log
@first cut at NetBSD/sbmips bootstrap programs, cloned from NetBSD/alpha's
and then modified to work with CFE as the firmware.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.18 2000/07/21 21:25:18 jdolecek Exp $
d26 1
a26 1
AFLAGS+=	-DASSEMBLER -D_LOCORE
d29 1
a29 1
CFLAGS=		-Os -g -ffreestanding -mno-abicalls -mno-half-pic -G 0
@


1.1.2.1
log
@file Makefile.bootprogs was added on branch nathanw_sa on 2002-11-11 22:03:20 +0000
@
text
@d1 143
@


1.1.2.2
log
@Catch up to -current
@
text
@a0 143
# $NetBSD: Makefile.bootprogs,v 1.1.2.1 2002/11/11 22:03:20 nathanw Exp $

S=	${.CURDIR}/../../../..

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

STRIPFLAG=
BINMODE= 444

STRIP?=	strip

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

.PHONY: machine-links
beforedepend: machine-links
# ${MACHINE} then ${MACHINE_ARCH}
machine-links:
	-rm -f machine && \
	    ln -s $S/arch/sbmips/include machine
	-rm -f mips && \
	    ln -s $S/arch/mips/include mips
CLEANFILES+=machine mips

realall: machine-links ${PROG}

AFLAGS+=	-DASSEMBLER -D_LOCORE
# -I${.CURDIR}/../.. done by Makefile.inc
CPPFLAGS+=	-nostdinc -I${.OBJDIR} -D_STANDALONE -I${S}
CFLAGS=		-Os -g -ffreestanding -mno-abicalls -mno-half-pic -G 0

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

CWARNFLAGS+=	-Wno-main 

# if there is a 'version' file, add rule for vers.c and add it to SRCS
# and CLEANFILES
.if exists(version)
.PHONY: vers.c
vers.c: version
	sh ${S}/conf/newvers_stand.sh -N ${.CURDIR}/version "sbmips"

SRCS+=	vers.c
CLEANFILES+= vers.c
.endif

# 
# Refer to CFE documentation for a description of these regions.
# 

REGION1_START=		0x20000000		# "Region 1 start"
REGION1_SIZE!=		expr 256 \* 1024	# 256k

# our memory lauout:

#	'unified' boot loaders (e.g. netboot) can consume all of region
#	1 for their text+data, or text+data+bss.

UNIFIED_LOAD_ADDRESS=	${REGION1_START}
UNIFIED_MAX_LOAD!=	expr ${REGION1_SIZE}
UNIFIED_MAX_TOTAL!=	expr ${REGION1_SIZE}

#UNIFIED_HEAP_START=	right after secondary bss
UNIFIED_HEAP_LIMIT=	(${REGION1_START} + ${REGION1_SIZE})

#	two-stage boot loaders must share region 1.  The first stage
#	loads into the lowest portion, and uses the higest portion
#	for its heap.  The second stage loads in between the primary image
#	and the heap, and can reuse the memory after it (i.e. the primary's
#	heap) for its own heap.

PRIMARY_LOAD_ADDRESS=	${REGION1_START}
#PRIMARY_MAX_LOAD=	booter dependent, no more than ${PRIMARY_MAX_TOTAL}
PRIMARY_MAX_TOTAL!=	expr 16 \* 1024

# XXX SECONDARY_LOAD_ADDRESS should be
# XXX (${PRIMARY_LOAD_ADDRESS} + ${PRIMARY_MAX_TOTAL}) bt there's no easy
# XXX way to do that calculation and 'ld' wants a single number.
SECONDARY_LOAD_ADDRESS=	0x20004000	# XXX
SECONDARY_MAX_LOAD!=	expr 112 \* 1024
SECONDARY_MAX_TOTAL!=	expr ${REGION1_SIZE} - ${PRIMARY_MAX_TOTAL}

PRIMARY_HEAP_START=	(${SECONDARY_LOAD_ADDRESS} + ${SECONDARY_MAX_LOAD})
PRIMARY_HEAP_LIMIT=	(${REGION1_START} + ${REGION1_SIZE})

#SECONDARY_HEAP_START=	right after secondary bss
SECONDARY_HEAP_LIMIT=	(${REGION1_START} + ${REGION1_SIZE})

#	standalone programs are like kernels.  They load at
#	0xfffffc0000300000 and can use the rest of memory.

STANDPROG_LOAD_ADDRESS=	0xfffffc0000300000


FILE_FORMAT_CPPFLAGS=	-DBOOT_ECOFF -DBOOT_ELF

UNIFIED_CPPFLAGS=	-DUNIFIED_BOOTBLOCK \
			-DHEAP_LIMIT="${UNIFIED_HEAP_LIMIT}" \
			${FILE_FORMAT_CPPFLAGS}

PRIMARY_CPPFLAGS=	-DPRIMARY_BOOTBLOCK \
			-DSECONDARY_LOAD_ADDRESS="${SECONDARY_LOAD_ADDRESS}" \
			-DSECONDARY_MAX_LOAD="${SECONDARY_MAX_LOAD}" \
			-DHEAP_LIMIT="${PRIMARY_HEAP_LIMIT}" \
			-DHEAP_START="${PRIMARY_HEAP_START}"

SECONDARY_CPPFLAGS=	-DSECONDARY_BOOTBLOCK \
			-DHEAP_LIMIT="${SECONDARY_HEAP_LIMIT}" \
			${FILE_FORMAT_CPPFLAGS}

STANDPROG_CPPFLAGS=	-DSTANDALONE_PROGRAM

.include <bsd.prog.mk>

### 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
Z_AS=		library
.include "${S}/lib/libz/Makefile.inc"
LIBZ=		${ZLIB}

### find out what to use for libsa
SA_AS=		library
SAMISCMAKEFLAGS+="SA_USE_LOADFILE=yes"
.include "${S}/lib/libsa/Makefile.inc"
LIBSA=		${SALIB}


/usr/lib/crt0.o:
	true

/usr/lib/crtbegin.o:
	true

/usr/lib/crtend.o:
	true

cleandir: cleandirlocal
cleandirlocal:
	rm -rf lib
@


1.1.2.3
log
@Sync with HEAD.
@
text
@d1 1
a1 1
# $NetBSD: Makefile.bootprogs,v 1.1.2.2 2002/12/11 06:11:52 thorpej Exp $
d26 1
a26 1
AFLAGS+=	-DASSEMBLER -D_LOCORE -mno-abicalls
d29 1
a29 1
CFLAGS=		-Os -g -ffreestanding -mno-abicalls -msoft-float -G 0
@
