head	1.7;
access;
symbols
	netbsd-11-0-RC4:1.7
	netbsd-11-0-RC3:1.7
	netbsd-11-0-RC2:1.7
	netbsd-11-0-RC1:1.7
	perseant-exfatfs-base-20250801:1.7
	netbsd-11:1.7.0.126
	netbsd-11-base:1.7
	netbsd-10-1-RELEASE:1.7
	perseant-exfatfs-base-20240630:1.7
	perseant-exfatfs:1.7.0.124
	perseant-exfatfs-base:1.7
	netbsd-8-3-RELEASE:1.7
	netbsd-9-4-RELEASE:1.7
	netbsd-10-0-RELEASE:1.7
	netbsd-10-0-RC6:1.7
	netbsd-10-0-RC5:1.7
	netbsd-10-0-RC4:1.7
	netbsd-10-0-RC3:1.7
	netbsd-10-0-RC2:1.7
	thorpej-ifq:1.7.0.122
	thorpej-ifq-base:1.7
	thorpej-altq-separation:1.7.0.120
	thorpej-altq-separation-base:1.7
	netbsd-10-0-RC1:1.7
	netbsd-10:1.7.0.118
	netbsd-10-base:1.7
	bouyer-sunxi-drm:1.7.0.116
	bouyer-sunxi-drm-base:1.7
	netbsd-9-3-RELEASE:1.7
	thorpej-i2c-spi-conf2:1.7.0.114
	thorpej-i2c-spi-conf2-base:1.7
	thorpej-futex2:1.7.0.112
	thorpej-futex2-base:1.7
	thorpej-cfargs2:1.7.0.110
	thorpej-cfargs2-base:1.7
	cjep_sun2x-base1:1.7
	cjep_sun2x:1.7.0.108
	cjep_sun2x-base:1.7
	cjep_staticlib_x-base1:1.7
	netbsd-9-2-RELEASE:1.7
	cjep_staticlib_x:1.7.0.106
	cjep_staticlib_x-base:1.7
	thorpej-i2c-spi-conf:1.7.0.104
	thorpej-i2c-spi-conf-base:1.7
	thorpej-cfargs:1.7.0.102
	thorpej-cfargs-base:1.7
	thorpej-futex:1.7.0.100
	thorpej-futex-base:1.7
	netbsd-9-1-RELEASE:1.7
	bouyer-xenpvh-base2:1.7
	phil-wifi-20200421:1.7
	bouyer-xenpvh-base1:1.7
	phil-wifi-20200411:1.7
	bouyer-xenpvh:1.7.0.98
	bouyer-xenpvh-base:1.7
	is-mlppp:1.7.0.96
	is-mlppp-base:1.7
	phil-wifi-20200406:1.7
	netbsd-8-2-RELEASE:1.7
	ad-namecache-base3:1.7
	netbsd-9-0-RELEASE:1.7
	netbsd-9-0-RC2:1.7
	ad-namecache-base2:1.7
	ad-namecache-base1:1.7
	ad-namecache:1.7.0.94
	ad-namecache-base:1.7
	netbsd-9-0-RC1:1.7
	phil-wifi-20191119:1.7
	netbsd-9:1.7.0.92
	netbsd-9-base:1.7
	phil-wifi-20190609:1.7
	netbsd-8-1-RELEASE:1.7
	netbsd-8-1-RC1:1.7
	isaki-audio2:1.7.0.90
	isaki-audio2-base:1.7
	pgoyette-compat-merge-20190127:1.7
	pgoyette-compat-20190127:1.7
	pgoyette-compat-20190118:1.7
	pgoyette-compat-1226:1.7
	pgoyette-compat-1126:1.7
	pgoyette-compat-1020:1.7
	pgoyette-compat-0930:1.7
	pgoyette-compat-0906:1.7
	netbsd-7-2-RELEASE:1.7
	pgoyette-compat-0728:1.7
	netbsd-8-0-RELEASE:1.7
	phil-wifi:1.7.0.88
	phil-wifi-base:1.7
	pgoyette-compat-0625:1.7
	netbsd-8-0-RC2:1.7
	pgoyette-compat-0521:1.7
	pgoyette-compat-0502:1.7
	pgoyette-compat-0422:1.7
	netbsd-8-0-RC1:1.7
	pgoyette-compat-0415:1.7
	pgoyette-compat-0407:1.7
	pgoyette-compat-0330:1.7
	pgoyette-compat-0322:1.7
	pgoyette-compat-0315:1.7
	netbsd-7-1-2-RELEASE:1.7
	pgoyette-compat:1.7.0.86
	pgoyette-compat-base:1.7
	netbsd-7-1-1-RELEASE:1.7
	tls-maxphys-base-20171202:1.7
	matt-nb8-mediatek:1.7.0.84
	matt-nb8-mediatek-base:1.7
	nick-nhusb-base-20170825:1.7
	perseant-stdc-iso10646:1.7.0.82
	perseant-stdc-iso10646-base:1.7
	netbsd-8:1.7.0.80
	netbsd-8-base:1.7
	prg-localcount2-base3:1.7
	prg-localcount2-base2:1.7
	prg-localcount2-base1:1.7
	prg-localcount2:1.7.0.78
	prg-localcount2-base:1.7
	pgoyette-localcount-20170426:1.7
	bouyer-socketcan-base1:1.7
	jdolecek-ncq:1.7.0.76
	jdolecek-ncq-base:1.7
	pgoyette-localcount-20170320:1.7
	netbsd-7-1:1.7.0.74
	netbsd-7-1-RELEASE:1.7
	netbsd-7-1-RC2:1.7
	nick-nhusb-base-20170204:1.7
	netbsd-7-nhusb-base-20170116:1.7
	bouyer-socketcan:1.7.0.72
	bouyer-socketcan-base:1.7
	pgoyette-localcount-20170107:1.7
	netbsd-7-1-RC1:1.7
	nick-nhusb-base-20161204:1.7
	pgoyette-localcount-20161104:1.7
	netbsd-7-0-2-RELEASE:1.7
	nick-nhusb-base-20161004:1.7
	localcount-20160914:1.7
	netbsd-7-nhusb:1.7.0.70
	netbsd-7-nhusb-base:1.7
	pgoyette-localcount-20160806:1.7
	pgoyette-localcount-20160726:1.7
	pgoyette-localcount:1.7.0.68
	pgoyette-localcount-base:1.7
	nick-nhusb-base-20160907:1.7
	nick-nhusb-base-20160529:1.7
	netbsd-7-0-1-RELEASE:1.7
	nick-nhusb-base-20160422:1.7
	nick-nhusb-base-20160319:1.7
	nick-nhusb-base-20151226:1.7
	netbsd-7-0:1.7.0.66
	netbsd-7-0-RELEASE:1.7
	nick-nhusb-base-20150921:1.7
	netbsd-7-0-RC3:1.7
	netbsd-7-0-RC2:1.7
	netbsd-7-0-RC1:1.7
	nick-nhusb-base-20150606:1.7
	nick-nhusb-base-20150406:1.7
	nick-nhusb:1.7.0.64
	nick-nhusb-base:1.7
	netbsd-5-2-3-RELEASE:1.7
	netbsd-5-1-5-RELEASE:1.7
	netbsd-6-0-6-RELEASE:1.7
	netbsd-6-1-5-RELEASE:1.7
	netbsd-7:1.7.0.62
	netbsd-7-base:1.7
	yamt-pagecache-base9:1.7
	yamt-pagecache-tag8:1.7
	netbsd-6-1-4-RELEASE:1.7
	netbsd-6-0-5-RELEASE:1.7
	tls-earlyentropy:1.7.0.60
	tls-earlyentropy-base:1.7
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.7
	riastradh-drm2-base3:1.7
	netbsd-6-1-3-RELEASE:1.7
	netbsd-6-0-4-RELEASE:1.7
	netbsd-5-2-2-RELEASE:1.7
	netbsd-5-1-4-RELEASE:1.7
	netbsd-6-1-2-RELEASE:1.7
	netbsd-6-0-3-RELEASE:1.7
	netbsd-5-2-1-RELEASE:1.7
	netbsd-5-1-3-RELEASE:1.7
	rmind-smpnet-nbase:1.7
	netbsd-6-1-1-RELEASE:1.7
	riastradh-drm2-base2:1.7
	riastradh-drm2-base1:1.7
	riastradh-drm2:1.7.0.58
	riastradh-drm2-base:1.7
	rmind-smpnet:1.7.0.50
	rmind-smpnet-base:1.7
	netbsd-6-1:1.7.0.56
	netbsd-6-0-2-RELEASE:1.7
	netbsd-6-1-RELEASE:1.7
	khorben-n900:1.7.0.54
	netbsd-6-1-RC4:1.7
	netbsd-6-1-RC3:1.7
	agc-symver:1.7.0.52
	agc-symver-base:1.7
	netbsd-6-1-RC2:1.7
	netbsd-6-1-RC1:1.7
	yamt-pagecache-base8:1.7
	netbsd-5-2:1.7.0.48
	netbsd-6-0-1-RELEASE:1.7
	yamt-pagecache-base7:1.7
	netbsd-5-2-RELEASE:1.7
	netbsd-5-2-RC1:1.7
	matt-nb6-plus-nbase:1.7
	yamt-pagecache-base6:1.7
	netbsd-6-0:1.7.0.46
	netbsd-6-0-RELEASE:1.7
	netbsd-6-0-RC2:1.7
	tls-maxphys:1.7.0.44
	tls-maxphys-base:1.7
	matt-nb6-plus:1.7.0.42
	matt-nb6-plus-base:1.7
	netbsd-6-0-RC1:1.7
	jmcneill-usbmp-base10:1.7
	yamt-pagecache-base5:1.7
	jmcneill-usbmp-base9:1.7
	yamt-pagecache-base4:1.7
	jmcneill-usbmp-base8:1.7
	jmcneill-usbmp-base7:1.7
	jmcneill-usbmp-base6:1.7
	jmcneill-usbmp-base5:1.7
	jmcneill-usbmp-base4:1.7
	jmcneill-usbmp-base3:1.7
	jmcneill-usbmp-pre-base2:1.7
	jmcneill-usbmp-base2:1.7
	netbsd-6:1.7.0.40
	netbsd-6-base:1.7
	netbsd-5-1-2-RELEASE:1.7
	netbsd-5-1-1-RELEASE:1.7
	jmcneill-usbmp:1.7.0.38
	jmcneill-usbmp-base:1.7
	jmcneill-audiomp3:1.7.0.36
	jmcneill-audiomp3-base:1.7
	yamt-pagecache-base3:1.7
	yamt-pagecache-base2:1.7
	yamt-pagecache:1.7.0.34
	yamt-pagecache-base:1.7
	rmind-uvmplock-nbase:1.7
	cherry-xenmp:1.7.0.32
	cherry-xenmp-base:1.7
	jym-xensuspend-nbase:1.7
	uebayasi-xip-base7:1.7
	bouyer-quota2-nbase:1.7
	bouyer-quota2:1.7.0.30
	bouyer-quota2-base:1.7
	jruoho-x86intr:1.7.0.28
	jruoho-x86intr-base:1.7
	matt-mips64-premerge-20101231:1.7
	matt-nb5-mips64-premerge-20101231:1.7
	matt-nb5-pq3:1.7.0.26
	matt-nb5-pq3-base:1.7
	netbsd-5-1:1.7.0.24
	uebayasi-xip-base6:1.7
	uebayasi-xip-base5:1.7
	netbsd-5-1-RELEASE:1.7
	uebayasi-xip-base4:1.7
	uebayasi-xip-base3:1.7
	yamt-nfs-mp-base11:1.7
	netbsd-5-1-RC4:1.7
	matt-nb5-mips64-k15:1.7
	uebayasi-xip-base2:1.7
	yamt-nfs-mp-base10:1.7
	netbsd-5-1-RC3:1.7
	netbsd-5-1-RC2:1.7
	uebayasi-xip-base1:1.7
	netbsd-5-1-RC1:1.7
	rmind-uvmplock:1.7.0.22
	rmind-uvmplock-base:1.7
	yamt-nfs-mp-base9:1.7
	uebayasi-xip:1.7.0.20
	uebayasi-xip-base:1.7
	netbsd-5-0-2-RELEASE:1.7
	matt-nb5-mips64-premerge-20091211:1.7
	matt-premerge-20091211:1.7
	yamt-nfs-mp-base8:1.7
	matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.7
	matt-nb4-mips64-k7-u2a-k9b:1.7
	matt-nb5-mips64-u1-k1-k5:1.7
	yamt-nfs-mp-base7:1.7
	matt-nb5-mips64:1.7.0.18
	netbsd-5-0-1-RELEASE:1.7
	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.7.0.16
	netbsd-5-0-RELEASE:1.7
	netbsd-5-0-RC4:1.7
	netbsd-5-0-RC3:1.7
	nick-hppapmap-base2:1.7
	netbsd-5-0-RC2:1.7
	jym-xensuspend:1.7.0.14
	jym-xensuspend-base:1.7
	netbsd-5-0-RC1:1.7
	haad-dm-base2:1.7
	haad-nbase2:1.7
	ad-audiomp2:1.7.0.12
	ad-audiomp2-base:1.7
	netbsd-5:1.7.0.10
	netbsd-5-base:1.7
	nick-hppapmap:1.7.0.8
	nick-hppapmap-base:1.7
	matt-mips64-base2:1.7
	haad-dm-base1:1.7
	wrstuden-revivesa-base-4:1.7
	netbsd-4-0-1-RELEASE:1.6
	wrstuden-revivesa-base-3:1.7
	wrstuden-revivesa-base-2:1.7
	wrstuden-fixsa-newbase:1.6
	nick-csl-alignment-base5:1.6
	haad-dm:1.7.0.6
	haad-dm-base:1.7
	wrstuden-revivesa-base-1:1.7
	simonb-wapbl-nbase:1.7
	yamt-pf42-base4:1.7
	simonb-wapbl:1.7.0.4
	simonb-wapbl-base:1.7
	yamt-pf42-base3:1.7
	hpcarm-cleanup-nbase:1.7
	yamt-pf42-baseX:1.6
	yamt-pf42-base2:1.7
	yamt-nfs-mp-base2:1.7
	wrstuden-revivesa:1.7.0.2
	wrstuden-revivesa-base:1.7
	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.3
	netbsd-2-1:1.3.0.22
	yamt-vop-base2:1.5
	thorpej-vnode-attr:1.5.0.16
	thorpej-vnode-attr-base:1.5
	netbsd-2-1-RELEASE:1.3
	yamt-vop:1.5.0.14
	yamt-vop-base:1.5
	netbsd-2-1-RC6:1.3
	netbsd-2-1-RC5:1.3
	netbsd-2-1-RC4:1.3
	netbsd-2-1-RC3:1.3
	netbsd-2-1-RC2:1.3
	netbsd-2-1-RC1:1.3
	yamt-lazymbuf:1.5.0.12
	yamt-km-base4:1.5
	netbsd-2-0-2-RELEASE:1.3
	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.3
	kent-audio1-beforemerge:1.5
	netbsd-2:1.3.0.20
	netbsd-2-base:1.3
	kent-audio1:1.5.0.2
	kent-audio1-base:1.5
	netbsd-2-0-RELEASE:1.3
	netbsd-2-0-RC5:1.3
	netbsd-2-0-RC4:1.3
	netbsd-2-0-RC3:1.3
	netbsd-2-0-RC2:1.3
	netbsd-2-0-RC1:1.3
	netbsd-2-0:1.3.0.18
	netbsd-2-0-base:1.3
	netbsd-1-6-PATCH002-RELEASE:1.3
	netbsd-1-6-PATCH002:1.3
	netbsd-1-6-PATCH002-RC4:1.3
	netbsd-1-6-PATCH002-RC3:1.3
	netbsd-1-6-PATCH002-RC2:1.3
	netbsd-1-6-PATCH002-RC1:1.3
	ktrace-lwp:1.3.0.16
	ktrace-lwp-base:1.5
	netbsd-1-6-PATCH001:1.3
	netbsd-1-6-PATCH001-RELEASE:1.3
	netbsd-1-6-PATCH001-RC3:1.3
	netbsd-1-6-PATCH001-RC2:1.3
	netbsd-1-6-PATCH001-RC1:1.3
	nathanw_sa_end:1.2.8.2
	nathanw_sa_before_merge:1.3
	fvdl_fs64_base:1.3
	gmcgarry_ctxsw:1.3.0.14
	gmcgarry_ctxsw_base:1.3
	gmcgarry_ucred:1.3.0.12
	gmcgarry_ucred_base:1.3
	nathanw_sa_base:1.3
	kqueue-aftermerge:1.3
	kqueue-beforemerge:1.3
	netbsd-1-6-RELEASE:1.3
	netbsd-1-6-RC3:1.3
	netbsd-1-6-RC2:1.3
	netbsd-1-6-RC1:1.3
	netbsd-1-6:1.3.0.10
	netbsd-1-6-base:1.3
	gehenna-devsw:1.3.0.8
	gehenna-devsw-base:1.3
	eeh-devprop:1.3.0.6
	eeh-devprop-base:1.3
	newlock:1.3.0.4
	newlock-base:1.3
	ifpoll-base:1.3
	nathanw_sa:1.2.0.8
	thorpej-mips-cache:1.2.0.6
	thorpej-mips-cache-base:1.2
	thorpej-devvp-base3:1.2
	thorpej-devvp-base2:1.2
	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.2
	kqueue-base:1.3
	thorpej_scsipi_beforemerge:1.2
	thorpej_scsipi_base:1.1
	thorpej_scsipi:1.1.0.2
	thorpej_scsipi_nbase:1.1;
locks; strict;
comment	@// @;


1.7
date	2008.04.28.20.23.20;	author martin;	state Exp;
branches;
next	1.6;

1.6
date	2005.12.11.12.17.28;	author christos;	state Exp;
branches
	1.6.74.1
	1.6.76.1
	1.6.78.1;
next	1.5;

1.5
date	2004.08.13.15.48.21;	author uch;	state Exp;
branches;
next	1.4;

1.4
date	2004.08.06.18.33.09;	author uch;	state Exp;
branches;
next	1.3;

1.3
date	2001.11.25.14.39.20;	author takemura;	state Exp;
branches
	1.3.16.1;
next	1.2;

1.2
date	2001.04.24.19.27.58;	author uch;	state Exp;
branches
	1.2.2.1
	1.2.8.1;
next	1.1;

1.1
date	2001.02.09.18.34.34;	author uch;	state Exp;
branches
	1.1.2.1
	1.1.4.1;
next	;

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

1.6.76.1
date	2008.05.18.12.31.58;	author yamt;	state Exp;
branches;
next	;

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

1.3.16.1
date	2004.08.12.11.41.05;	author skrll;	state Exp;
branches;
next	1.3.16.2;

1.3.16.2
date	2004.08.25.06.57.18;	author skrll;	state Exp;
branches;
next	1.3.16.3;

1.3.16.3
date	2004.09.18.14.34.39;	author skrll;	state Exp;
branches;
next	1.3.16.4;

1.3.16.4
date	2004.09.21.13.15.48;	author skrll;	state Exp;
branches;
next	;

1.2.2.1
date	2002.01.10.19.43.33;	author thorpej;	state Exp;
branches;
next	;

1.2.8.1
date	2001.04.24.19.27.58;	author nathanw;	state dead;
branches;
next	1.2.8.2;

1.2.8.2
date	2002.01.08.00.24.49;	author nathanw;	state Exp;
branches;
next	;

1.1.2.1
date	2001.02.09.18.34.34;	author bouyer;	state dead;
branches;
next	1.1.2.2;

1.1.2.2
date	2001.02.11.19.09.48;	author bouyer;	state Exp;
branches;
next	;

1.1.4.1
date	2001.06.21.19.22.40;	author nathanw;	state Exp;
branches;
next	;


desc
@@


1.7
log
@Remove clause 3 and 4 from TNF licenses
@
text
@/*	$NetBSD: boot.cpp,v 1.6 2005/12/11 12:17:28 christos Exp $	*/

/*-
 * Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
 * All rights reserved.
 *
 * This code is derived from software contributed to The NetBSD Foundation
 * by UCHIYAMA Yasushi.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

#include <hpcdefs.h>
#include <hpcboot.h>
#include <boot.h>

#include <load.h>
#include <load_elf.h>
#include <load_coff.h>
#undef DPRINTF // trash coff_machdep.h's DPRINTF

#include <console.h>

#include <file.h>

#ifdef ARM
#include <arm/arm_boot.h>
#endif
#ifdef MIPS
#include <mips/mips_boot.h>
#endif
#ifdef SHx
#include <sh3/sh_boot.h>
#endif

Boot *Boot::_instance = 0;

Boot &
Boot::Instance()
{

	if (_instance)
		return  *_instance;

	// register bootloader to menu system.
	// (will be invoked by boot button)
	struct HpcMenuInterface::boot_hook_args bha;
	bha.func	= hpcboot;
	bha.arg		= 0;
	HPC_MENU.register_boot_hook(bha);

#ifdef ARM
	_instance = new ARMBoot();
#endif
#ifdef MIPS
	_instance = new MIPSBoot();
#endif
#ifdef SHx
	_instance = new SHBoot();
#endif

	memset(&_instance->args, 0, sizeof(struct BootSetupArgs));
	_instance->args.consoleEnable = TRUE;

	return *_instance;
}

void
Boot::Destroy()
{

	if (_instance)
		delete _instance;
}

BOOL
Boot::setup()
{
	struct HpcMenuInterface::HpcMenuPreferences &pref = HPC_PREFERENCE;

	args.console = pref.boot_serial ? CONSOLE_SERIAL : CONSOLE_LCD;

	// file path.
	TCHAR *dir = pref.dir_user_path;
	if (wcsstr(dir, TEXT("http://")))
		args.file = FILE_HTTP;
	else
		args.file = wcschr(dir, TEXT('/')) ? FILE_UFS : FILE_FAT;
	wcscpy(args.fileRoot, dir);

	// file name.
	wcscpy(args.fileName, pref.kernel_user_file);
	args.loadmfs = (pref.rootfs == 2);
	if (args.loadmfs)
		wcscpy(args.mfsName, pref.rootfs_file);

	// debug options.
	args.loaderDebug	= FALSE;
	args.architectureDebug	= FALSE;
	args.memorymanagerDebug	= FALSE;
	args.fileDebug		= FALSE;

	return TRUE;
}

Boot::Boot()
{
	_arch	= 0;
	_mem	= 0;
	_file	= 0;
	_loader	= 0;
	// set default console
	_cons = Console::Instance();
}

Boot::~Boot()
{

	if (_file)
		delete _file;
	if (_loader)
		delete _loader;
}

BOOL
Boot::create()
{

	// Set this console (setuped by machine dependent part) as default.
	Console::changeConsole(*_cons);

	// File manager.
	_file = new FileManager(_cons, args.file);
	_file->setDebug() = args.fileDebug;

	return TRUE;
}

BOOL
Boot::attachLoader()
{

	switch (Loader::objectFormat(*_file)) {
	case LOADER_ELF:
		_loader = new ElfLoader(_cons, _mem);
		break;
	case LOADER_COFF:
		_loader = new CoffLoader(_cons, _mem);
		break;
	default:
		DPRINTF((TEXT("unknown file format.\n")));
		return FALSE;
	}

	return TRUE;
}
@


1.6
log
@merge ktrace-lwp.
@
text
@d1 1
a1 1
/*	$NetBSD: boot.cpp,v 1.3.16.4 2004/09/21 13:15:48 skrll Exp $	*/
a17 7
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *        This product includes software developed by the NetBSD
 *        Foundation, Inc. and its contributors.
 * 4. Neither the name of The NetBSD Foundation nor the names of its
 *    contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
@


1.6.74.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
/*	$NetBSD$	*/
d18 7
@


1.6.76.1
log
@sync with head.
@
text
@d1 1
a1 1
/*	$NetBSD: boot.cpp,v 1.6 2005/12/11 12:17:28 christos Exp $	*/
d18 7
@


1.6.78.1
log
@sync with head.
@
text
@d1 1
a1 1
/*	$NetBSD: boot.cpp,v 1.6 2005/12/11 12:17:28 christos Exp $	*/
d18 7
@


1.5
log
@set user specified console as default.
@
text
@d1 1
a1 1
/*	$NetBSD: boot.cpp,v 1.4 2004/08/06 18:33:09 uch Exp $	*/
@


1.4
log
@clean up whitespace.
@
text
@d1 1
a1 1
/*	$NetBSD: boot.cpp,v 1.3 2001/11/25 14:39:20 takemura Exp $	*/
d4 1
a4 1
 * Copyright (c) 2001 The NetBSD Foundation, Inc.
d154 4
@


1.3
log
@Deleted unused include files.
@
text
@d1 1
a1 1
/*	$NetBSD: boot.cpp,v 1.2 2001/04/24 19:27:58 uch Exp $	*/
d67 1
d87 1
a87 1
  
d97 1
d128 1
a128 1
  
d144 1
d164 1
@


1.3.16.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
/*	$NetBSD: boot.cpp,v 1.3 2001/11/25 14:39:20 takemura Exp $	*/
a66 1

d86 1
a86 1

a95 1

d126 1
a126 1

a141 1

a160 1

@


1.3.16.2
log
@Sync with HEAD.
@
text
@d1 1
a1 1
/*	$NetBSD: boot.cpp,v 1.3.16.1 2004/08/12 11:41:05 skrll Exp $	*/
d4 1
a4 1
 * Copyright (c) 2001, 2004 The NetBSD Foundation, Inc.
a153 4

	// Set this console (setuped by machine dependent part) as default.
	Console::changeConsole(*_cons);

@


1.3.16.3
log
@Sync with HEAD.
@
text
@d1 1
a1 1
/*	$NetBSD: boot.cpp,v 1.5 2004/08/13 15:48:21 uch Exp $	*/
@


1.3.16.4
log
@Fix the sync with head I botched.
@
text
@d1 1
a1 1
/*	$NetBSD: boot.cpp,v 1.3.16.2 2004/08/25 06:57:18 skrll Exp $	*/
@


1.2
log
@code clean up.
@
text
@d1 1
a1 1
/*	$NetBSD: boot.cpp,v 1.1 2001/02/09 18:34:34 uch Exp $	*/
a50 3
#include <file_fat.h>
#include <file_http.h>
#include <file_ufs.h>
@


1.2.8.1
log
@file boot.cpp was added on branch nathanw_sa on 2002-01-08 00:24:49 +0000
@
text
@d1 177
@


1.2.8.2
log
@Catch up to -current.
@
text
@a0 174
/*	$NetBSD: boot.cpp,v 1.2.8.1 2002/01/08 00:24:49 nathanw Exp $	*/

/*-
 * Copyright (c) 2001 The NetBSD Foundation, Inc.
 * All rights reserved.
 *
 * This code is derived from software contributed to The NetBSD Foundation
 * by UCHIYAMA Yasushi.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *        This product includes software developed by the NetBSD
 *        Foundation, Inc. and its contributors.
 * 4. Neither the name of The NetBSD Foundation nor the names of its
 *    contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

#include <hpcdefs.h>
#include <hpcboot.h>
#include <boot.h>

#include <load.h>
#include <load_elf.h>
#include <load_coff.h>
#undef DPRINTF // trash coff_machdep.h's DPRINTF

#include <console.h>

#include <file.h>

#ifdef ARM
#include <arm/arm_boot.h>
#endif
#ifdef MIPS
#include <mips/mips_boot.h>
#endif
#ifdef SHx
#include <sh3/sh_boot.h>
#endif

Boot *Boot::_instance = 0;

Boot &
Boot::Instance()
{
	if (_instance)
		return  *_instance;

	// register bootloader to menu system.
	// (will be invoked by boot button)
	struct HpcMenuInterface::boot_hook_args bha;
	bha.func	= hpcboot;
	bha.arg		= 0;
	HPC_MENU.register_boot_hook(bha);

#ifdef ARM
	_instance = new ARMBoot();
#endif
#ifdef MIPS
	_instance = new MIPSBoot();
#endif
#ifdef SHx
	_instance = new SHBoot();
#endif
  
	memset(&_instance->args, 0, sizeof(struct BootSetupArgs));
	_instance->args.consoleEnable = TRUE;

	return *_instance;
}

void
Boot::Destroy()
{
	if (_instance)
		delete _instance;
}

BOOL
Boot::setup()
{
	struct HpcMenuInterface::HpcMenuPreferences &pref = HPC_PREFERENCE;

	args.console = pref.boot_serial ? CONSOLE_SERIAL : CONSOLE_LCD;

	// file path.
	TCHAR *dir = pref.dir_user_path;
	if (wcsstr(dir, TEXT("http://")))
		args.file = FILE_HTTP;
	else
		args.file = wcschr(dir, TEXT('/')) ? FILE_UFS : FILE_FAT;
	wcscpy(args.fileRoot, dir);

	// file name.
	wcscpy(args.fileName, pref.kernel_user_file);
	args.loadmfs = (pref.rootfs == 2);
	if (args.loadmfs)
		wcscpy(args.mfsName, pref.rootfs_file);

	// debug options.
	args.loaderDebug	= FALSE;
	args.architectureDebug	= FALSE;
	args.memorymanagerDebug	= FALSE;
	args.fileDebug		= FALSE;
  
	return TRUE;
}

Boot::Boot()
{
	_arch	= 0;
	_mem	= 0;
	_file	= 0;
	_loader	= 0;
	// set default console
	_cons = Console::Instance();
}

Boot::~Boot()
{
	if (_file)
		delete _file;
	if (_loader)
		delete _loader;
}

BOOL
Boot::create()
{
	// File manager.
	_file = new FileManager(_cons, args.file);
	_file->setDebug() = args.fileDebug;

	return TRUE;
}

BOOL
Boot::attachLoader()
{
	switch (Loader::objectFormat(*_file)) {
	case LOADER_ELF:
		_loader = new ElfLoader(_cons, _mem);
		break;
	case LOADER_COFF:
		_loader = new CoffLoader(_cons, _mem);
		break;
	default:
		DPRINTF((TEXT("unknown file format.\n")));
		return FALSE;
	}

	return TRUE;
}
@


1.2.2.1
log
@Sync kqueue branch with -current.
@
text
@d1 1
a1 1
/*	$NetBSD: boot.cpp,v 1.3 2001/11/25 14:39:20 takemura Exp $	*/
d51 3
@


1.1
log
@bootloader for SH3, SA-1100, TX39, VR41 based Windows CE(2.00 or later)
@
text
@d1 1
a1 1
/*	$NetBSD$	*/
d73 2
d77 2
a78 2
	bha.arg	= 0;
	HpcMenuInterface::Instance().register_boot_hook(bha);
d104 1
a104 1
Boot::setup(struct HpcMenuInterface::HpcMenuPreferences &pref)
d106 2
d135 3
a137 3
	_arch		= 0;
	_mem		= 0;
	_file		= 0;
@


1.1.2.1
log
@file boot.cpp was added on branch thorpej_scsipi on 2001-02-11 19:09:48 +0000
@
text
@d1 173
@


1.1.2.2
log
@Sync with HEAD.
@
text
@a0 173
/*	$NetBSD: boot.cpp,v 1.1.2.1 2001/02/11 19:09:48 bouyer Exp $	*/

/*-
 * Copyright (c) 2001 The NetBSD Foundation, Inc.
 * All rights reserved.
 *
 * This code is derived from software contributed to The NetBSD Foundation
 * by UCHIYAMA Yasushi.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *        This product includes software developed by the NetBSD
 *        Foundation, Inc. and its contributors.
 * 4. Neither the name of The NetBSD Foundation nor the names of its
 *    contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

#include <hpcdefs.h>
#include <hpcboot.h>
#include <boot.h>

#include <load.h>
#include <load_elf.h>
#include <load_coff.h>
#undef DPRINTF // trash coff_machdep.h's DPRINTF

#include <console.h>

#include <file.h>
#include <file_fat.h>
#include <file_http.h>
#include <file_ufs.h>

#ifdef ARM
#include <arm/arm_boot.h>
#endif
#ifdef MIPS
#include <mips/mips_boot.h>
#endif
#ifdef SHx
#include <sh3/sh_boot.h>
#endif

Boot *Boot::_instance = 0;

Boot &
Boot::Instance()
{
	if (_instance)
		return  *_instance;

	struct HpcMenuInterface::boot_hook_args bha;
	bha.func	= hpcboot;
	bha.arg	= 0;
	HpcMenuInterface::Instance().register_boot_hook(bha);

#ifdef ARM
	_instance = new ARMBoot();
#endif
#ifdef MIPS
	_instance = new MIPSBoot();
#endif
#ifdef SHx
	_instance = new SHBoot();
#endif
  
	memset(&_instance->args, 0, sizeof(struct BootSetupArgs));
	_instance->args.consoleEnable = TRUE;

	return *_instance;
}

void
Boot::Destroy()
{
	if (_instance)
		delete _instance;
}

BOOL
Boot::setup(struct HpcMenuInterface::HpcMenuPreferences &pref)
{
	args.console = pref.boot_serial ? CONSOLE_SERIAL : CONSOLE_LCD;

	// file path.
	TCHAR *dir = pref.dir_user_path;
	if (wcsstr(dir, TEXT("http://")))
		args.file = FILE_HTTP;
	else
		args.file = wcschr(dir, TEXT('/')) ? FILE_UFS : FILE_FAT;
	wcscpy(args.fileRoot, dir);

	// file name.
	wcscpy(args.fileName, pref.kernel_user_file);
	args.loadmfs = (pref.rootfs == 2);
	if (args.loadmfs)
		wcscpy(args.mfsName, pref.rootfs_file);

	// debug options.
	args.loaderDebug	= FALSE;
	args.architectureDebug	= FALSE;
	args.memorymanagerDebug	= FALSE;
	args.fileDebug		= FALSE;
  
	return TRUE;
}

Boot::Boot()
{
	_arch		= 0;
	_mem		= 0;
	_file		= 0;
	_loader	= 0;
	// set default console
	_cons = Console::Instance();
}

Boot::~Boot()
{
	if (_file)
		delete _file;
	if (_loader)
		delete _loader;
}

BOOL
Boot::create()
{
	// File manager.
	_file = new FileManager(_cons, args.file);
	_file->setDebug() = args.fileDebug;

	return TRUE;
}

BOOL
Boot::attachLoader()
{
	switch (Loader::objectFormat(*_file)) {
	case LOADER_ELF:
		_loader = new ElfLoader(_cons, _mem);
		break;
	case LOADER_COFF:
		_loader = new CoffLoader(_cons, _mem);
		break;
	default:
		DPRINTF((TEXT("unknown file format.\n")));
		return FALSE;
	}

	return TRUE;
}
@


1.1.4.1
log
@Catch up to -current.
@
text
@d1 1
a1 1
/*	$NetBSD: boot.cpp,v 1.1 2001/02/09 18:34:34 uch Exp $	*/
a72 2
	// register bootloader to menu system.
	// (will be invoked by boot button)
d75 2
a76 2
	bha.arg		= 0;
	HPC_MENU.register_boot_hook(bha);
d102 1
a102 1
Boot::setup()
a103 2
	struct HpcMenuInterface::HpcMenuPreferences &pref = HPC_PREFERENCE;

d131 3
a133 3
	_arch	= 0;
	_mem	= 0;
	_file	= 0;
@
