head 1.6; access; symbols netbsd-11-0-RC7:1.6 netbsd-11-0-RC6:1.6 netbsd-11-0-RC5:1.6 netbsd-11-0-RC4:1.6 netbsd-11-0-RC3:1.6 netbsd-11-0-RC2:1.6 netbsd-11-0-RC1:1.6 perseant-exfatfs-base-20250801:1.6 netbsd-11:1.6.0.8 netbsd-11-base:1.6 netbsd-10-1-RELEASE:1.5.4.1 perseant-exfatfs-base-20240630:1.6 perseant-exfatfs:1.6.0.6 perseant-exfatfs-base:1.6 netbsd-8-3-RELEASE:1.3.10.2 netbsd-9-4-RELEASE:1.3.22.2 netbsd-10-0-RELEASE:1.5.4.1 netbsd-10-0-RC6:1.5.4.1 netbsd-10-0-RC5:1.5.4.1 netbsd-10-0-RC4:1.5.4.1 netbsd-10-0-RC3:1.5.4.1 netbsd-10-0-RC2:1.5.4.1 thorpej-ifq:1.6.0.4 thorpej-ifq-base:1.6 thorpej-altq-separation:1.6.0.2 thorpej-altq-separation-base:1.6 netbsd-10-0-RC1:1.5.4.1 netbsd-10:1.5.0.4 netbsd-10-base:1.5 bouyer-sunxi-drm:1.5.0.2 bouyer-sunxi-drm-base:1.5 netbsd-9-3-RELEASE:1.3 thorpej-i2c-spi-conf2:1.3.0.44 thorpej-i2c-spi-conf2-base:1.3 thorpej-futex2:1.3.0.42 thorpej-futex2-base:1.3 thorpej-cfargs2:1.3.0.40 thorpej-cfargs2-base:1.3 cjep_sun2x-base1:1.3 cjep_sun2x:1.3.0.38 cjep_sun2x-base:1.3 cjep_staticlib_x-base1:1.3 netbsd-9-2-RELEASE:1.3 cjep_staticlib_x:1.3.0.36 cjep_staticlib_x-base:1.3 thorpej-i2c-spi-conf:1.3.0.34 thorpej-i2c-spi-conf-base:1.3 thorpej-cfargs:1.3.0.32 thorpej-cfargs-base:1.3 thorpej-futex:1.3.0.30 thorpej-futex-base:1.3 netbsd-9-1-RELEASE:1.3 bouyer-xenpvh-base2:1.3 phil-wifi-20200421:1.3 bouyer-xenpvh-base1:1.3 phil-wifi-20200411:1.3 bouyer-xenpvh:1.3.0.28 bouyer-xenpvh-base:1.3 is-mlppp:1.3.0.26 is-mlppp-base:1.3 phil-wifi-20200406:1.3 netbsd-8-2-RELEASE:1.3 ad-namecache-base3:1.3 netbsd-9-0-RELEASE:1.3 netbsd-9-0-RC2:1.3 ad-namecache-base2:1.3 ad-namecache-base1:1.3 ad-namecache:1.3.0.24 ad-namecache-base:1.3 netbsd-9-0-RC1:1.3 phil-wifi-20191119:1.3 netbsd-9:1.3.0.22 netbsd-9-base:1.3 phil-wifi-20190609:1.3 netbsd-8-1-RELEASE:1.3 netbsd-8-1-RC1:1.3 isaki-audio2:1.3.0.20 isaki-audio2-base:1.3 pgoyette-compat-merge-20190127:1.3 pgoyette-compat-20190127:1.3 pgoyette-compat-20190118:1.3 pgoyette-compat-1226:1.3 pgoyette-compat-1126:1.3 pgoyette-compat-1020:1.3 pgoyette-compat-0930:1.3 pgoyette-compat-0906:1.3 netbsd-7-2-RELEASE:1.2 pgoyette-compat-0728:1.3 netbsd-8-0-RELEASE:1.3 phil-wifi:1.3.0.18 phil-wifi-base:1.3 pgoyette-compat-0625:1.3 netbsd-8-0-RC2:1.3 pgoyette-compat-0521:1.3 pgoyette-compat-0502:1.3 pgoyette-compat-0422:1.3 netbsd-8-0-RC1:1.3 pgoyette-compat-0415:1.3 pgoyette-compat-0407:1.3 pgoyette-compat-0330:1.3 pgoyette-compat-0322:1.3 pgoyette-compat-0315:1.3 netbsd-7-1-2-RELEASE:1.2 pgoyette-compat:1.3.0.16 pgoyette-compat-base:1.3 netbsd-7-1-1-RELEASE:1.2 tls-maxphys-base-20171202:1.3 matt-nb8-mediatek:1.3.0.14 matt-nb8-mediatek-base:1.3 nick-nhusb-base-20170825:1.3 perseant-stdc-iso10646:1.3.0.12 perseant-stdc-iso10646-base:1.3 netbsd-8:1.3.0.10 netbsd-8-base:1.3 prg-localcount2-base3:1.3 prg-localcount2-base2:1.3 prg-localcount2-base1:1.3 prg-localcount2:1.3.0.8 prg-localcount2-base:1.3 pgoyette-localcount-20170426:1.3 bouyer-socketcan-base1:1.3 jdolecek-ncq:1.3.0.6 jdolecek-ncq-base:1.3 pgoyette-localcount-20170320:1.3 netbsd-7-1:1.2.0.224 netbsd-7-1-RELEASE:1.2 netbsd-7-1-RC2:1.2 nick-nhusb-base-20170204:1.3 netbsd-7-nhusb-base-20170116:1.2 bouyer-socketcan:1.3.0.4 bouyer-socketcan-base:1.3 pgoyette-localcount-20170107:1.3 netbsd-7-1-RC1:1.2 nick-nhusb-base-20161204:1.3 pgoyette-localcount-20161104:1.3 netbsd-7-0-2-RELEASE:1.2 nick-nhusb-base-20161004:1.3 localcount-20160914:1.3 netbsd-7-nhusb:1.2.0.222 netbsd-7-nhusb-base:1.2 pgoyette-localcount-20160806:1.3 pgoyette-localcount-20160726:1.3 pgoyette-localcount:1.3.0.2 pgoyette-localcount-base:1.3 nick-nhusb-base-20160907:1.3 nick-nhusb-base-20160529:1.3 netbsd-7-0-1-RELEASE:1.2 nick-nhusb-base-20160422:1.3 nick-nhusb-base-20160319:1.3 nick-nhusb-base-20151226:1.3 netbsd-7-0:1.2.0.220 netbsd-7-0-RELEASE:1.2 nick-nhusb-base-20150921:1.2 netbsd-7-0-RC3:1.2 netbsd-7-0-RC2:1.2 netbsd-7-0-RC1:1.2 nick-nhusb-base-20150606:1.2 nick-nhusb-base-20150406:1.2 nick-nhusb:1.2.0.218 nick-nhusb-base:1.2 netbsd-5-2-3-RELEASE:1.2 netbsd-5-1-5-RELEASE:1.2 netbsd-6-0-6-RELEASE:1.2 netbsd-6-1-5-RELEASE:1.2 netbsd-7:1.2.0.216 netbsd-7-base:1.2 yamt-pagecache-base9:1.2 yamt-pagecache-tag8:1.2 netbsd-6-1-4-RELEASE:1.2 netbsd-6-0-5-RELEASE:1.2 tls-earlyentropy:1.2.0.214 tls-earlyentropy-base:1.2 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.2 riastradh-drm2-base3:1.2 netbsd-6-1-3-RELEASE:1.2 netbsd-6-0-4-RELEASE:1.2 netbsd-5-2-2-RELEASE:1.2 netbsd-5-1-4-RELEASE:1.2 netbsd-6-1-2-RELEASE:1.2 netbsd-6-0-3-RELEASE:1.2 netbsd-5-2-1-RELEASE:1.2 netbsd-5-1-3-RELEASE:1.2 rmind-smpnet-nbase:1.2 netbsd-6-1-1-RELEASE:1.2 riastradh-drm2-base2:1.2 riastradh-drm2-base1:1.2 riastradh-drm2:1.2.0.212 riastradh-drm2-base:1.2 rmind-smpnet:1.2.0.204 rmind-smpnet-base:1.2 netbsd-6-1:1.2.0.210 netbsd-6-0-2-RELEASE:1.2 netbsd-6-1-RELEASE:1.2 khorben-n900:1.2.0.208 netbsd-6-1-RC4:1.2 netbsd-6-1-RC3:1.2 agc-symver:1.2.0.206 agc-symver-base:1.2 netbsd-6-1-RC2:1.2 netbsd-6-1-RC1:1.2 yamt-pagecache-base8:1.2 netbsd-5-2:1.2.0.202 netbsd-6-0-1-RELEASE:1.2 yamt-pagecache-base7:1.2 netbsd-5-2-RELEASE:1.2 netbsd-5-2-RC1:1.2 matt-nb6-plus-nbase:1.2 yamt-pagecache-base6:1.2 netbsd-6-0:1.2.0.200 netbsd-6-0-RELEASE:1.2 netbsd-6-0-RC2:1.2 tls-maxphys:1.2.0.198 tls-maxphys-base:1.2 matt-nb6-plus:1.2.0.196 matt-nb6-plus-base:1.2 netbsd-6-0-RC1:1.2 jmcneill-usbmp-base10:1.2 yamt-pagecache-base5:1.2 jmcneill-usbmp-base9:1.2 yamt-pagecache-base4:1.2 jmcneill-usbmp-base8:1.2 jmcneill-usbmp-base7:1.2 jmcneill-usbmp-base6:1.2 jmcneill-usbmp-base5:1.2 jmcneill-usbmp-base4:1.2 jmcneill-usbmp-base3:1.2 jmcneill-usbmp-pre-base2:1.2 jmcneill-usbmp-base2:1.2 netbsd-6:1.2.0.194 netbsd-6-base:1.2 netbsd-5-1-2-RELEASE:1.2 netbsd-5-1-1-RELEASE:1.2 jmcneill-usbmp:1.2.0.192 jmcneill-usbmp-base:1.2 jmcneill-audiomp3:1.2.0.190 jmcneill-audiomp3-base:1.2 yamt-pagecache-base3:1.2 yamt-pagecache-base2:1.2 yamt-pagecache:1.2.0.188 yamt-pagecache-base:1.2 rmind-uvmplock-nbase:1.2 cherry-xenmp:1.2.0.186 cherry-xenmp-base:1.2 jym-xensuspend-nbase:1.2 uebayasi-xip-base7:1.2 bouyer-quota2-nbase:1.2 bouyer-quota2:1.2.0.184 bouyer-quota2-base:1.2 jruoho-x86intr:1.2.0.182 jruoho-x86intr-base:1.2 matt-mips64-premerge-20101231:1.2 matt-nb5-mips64-premerge-20101231:1.2 matt-nb5-pq3:1.2.0.180 matt-nb5-pq3-base:1.2 netbsd-5-1:1.2.0.178 uebayasi-xip-base6:1.2 uebayasi-xip-base5:1.2 netbsd-5-1-RELEASE:1.2 uebayasi-xip-base4:1.2 uebayasi-xip-base3:1.2 yamt-nfs-mp-base11:1.2 netbsd-5-1-RC4:1.2 matt-nb5-mips64-k15:1.2 uebayasi-xip-base2:1.2 yamt-nfs-mp-base10:1.2 netbsd-5-1-RC3:1.2 netbsd-5-1-RC2:1.2 uebayasi-xip-base1:1.2 netbsd-5-1-RC1:1.2 rmind-uvmplock:1.2.0.176 rmind-uvmplock-base:1.2 yamt-nfs-mp-base9:1.2 uebayasi-xip:1.2.0.174 uebayasi-xip-base:1.2 netbsd-5-0-2-RELEASE:1.2 matt-nb5-mips64-premerge-20091211:1.2 matt-premerge-20091211:1.2 yamt-nfs-mp-base8:1.2 matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.2 matt-nb4-mips64-k7-u2a-k9b:1.2 matt-nb5-mips64-u1-k1-k5:1.2 yamt-nfs-mp-base7:1.2 matt-nb5-mips64:1.2.0.172 netbsd-5-0-1-RELEASE:1.2 jymxensuspend-base:1.2 yamt-nfs-mp-base6:1.2 yamt-nfs-mp-base5:1.2 MI-softints:1.2 pre-softints:1.2 yamt-nfs-mp-base4:1.2 yamt-nfs-mp-base3:1.2 nick-hppapmap-base4:1.2 nick-hppapmap-base3:1.2 netbsd-5-0:1.2.0.170 netbsd-5-0-RELEASE:1.2 netbsd-5-0-RC4:1.2 netbsd-5-0-RC3:1.2 nick-hppapmap-base2:1.2 netbsd-5-0-RC2:1.2 jym-xensuspend:1.2.0.168 jym-xensuspend-base:1.2 netbsd-5-0-RC1:1.2 haad-dm-base2:1.2 haad-nbase2:1.2 ad-audiomp2:1.2.0.166 ad-audiomp2-base:1.2 netbsd-5:1.2.0.164 netbsd-5-base:1.2 nick-hppapmap:1.2.0.162 nick-hppapmap-base:1.2 matt-mips64-base2:1.2 haad-dm-base1:1.2 wrstuden-revivesa-base-4:1.2 netbsd-4-0-1-RELEASE:1.2 wrstuden-revivesa-base-3:1.2 wrstuden-revivesa-base-2:1.2 wrstuden-fixsa-newbase:1.2 nick-csl-alignment-base5:1.2 haad-dm:1.2.0.160 haad-dm-base:1.2 wrstuden-revivesa-base-1:1.2 simonb-wapbl-nbase:1.2 yamt-pf42-base4:1.2 simonb-wapbl:1.2.0.158 simonb-wapbl-base:1.2 yamt-pf42-base3:1.2 hpcarm-cleanup-nbase:1.2 yamt-pf42-baseX:1.2 yamt-pf42-base2:1.2 yamt-nfs-mp-base2:1.2 wrstuden-revivesa:1.2.0.156 wrstuden-revivesa-base:1.2 yamt-nfs-mp:1.2.0.154 yamt-nfs-mp-base:1.2 yamt-pf42:1.2.0.152 yamt-pf42-base:1.2 ad-socklock-base1:1.2 yamt-lazymbuf-base15:1.2 yamt-lazymbuf-base14:1.2 keiichi-mipv6-nbase:1.2 mjf-devfs2:1.2.0.150 mjf-devfs2-base:1.2 nick-net80211-sync:1.2.0.148 nick-net80211-sync-base:1.2 keiichi-mipv6:1.2.0.146 keiichi-mipv6-base:1.2 bouyer-xeni386-merge1:1.2 matt-armv6-prevmlocking:1.2 wrstuden-fixsa-base-1:1.2 vmlocking2-base3:1.2 netbsd-4-0:1.2.0.144 netbsd-4-0-RELEASE:1.2 bouyer-xeni386-nbase:1.2 yamt-kmem-base3:1.2 cube-autoconf:1.2.0.142 cube-autoconf-base:1.2 yamt-kmem-base2:1.2 bouyer-xeni386:1.2.0.140 bouyer-xeni386-base:1.2 yamt-kmem:1.2.0.138 yamt-kmem-base:1.2 vmlocking2-base2:1.2 reinoud-bufcleanup-nbase:1.2 vmlocking2:1.2.0.136 vmlocking2-base1:1.2 netbsd-4-0-RC5:1.2 matt-nb4-arm:1.2.0.134 matt-nb4-arm-base:1.2 matt-armv6-nbase:1.2 jmcneill-base:1.2 netbsd-4-0-RC4:1.2 mjf-devfs:1.2.0.132 mjf-devfs-base:1.2 bouyer-xenamd64-base2:1.2 vmlocking-nbase:1.2 yamt-x86pmap-base4:1.2 bouyer-xenamd64:1.2.0.130 bouyer-xenamd64-base:1.2 netbsd-4-0-RC3:1.2 yamt-x86pmap-base3:1.2 yamt-x86pmap-base2:1.2 netbsd-4-0-RC2:1.2 yamt-x86pmap:1.2.0.128 yamt-x86pmap-base:1.2 netbsd-4-0-RC1:1.2 matt-armv6:1.2.0.126 matt-armv6-base:1.2 jmcneill-pm:1.2.0.124 jmcneill-pm-base:1.2 hpcarm-cleanup:1.2.0.122 hpcarm-cleanup-base:1.2 nick-csl-alignment:1.2.0.120 nick-csl-alignment-base:1.2 matt-mips64:1.2.0.118 matt-mips64-base:1.2 netbsd-3-1-1-RELEASE:1.2 netbsd-3-0-3-RELEASE:1.2 yamt-idlelwp-base8:1.2 wrstuden-fixsa:1.2.0.116 wrstuden-fixsa-base:1.2 ppcoea-renovation:1.2.0.114 ppcoea-renovation-base:1.2 thorpej-atomic:1.2.0.112 thorpej-atomic-base:1.2 reinoud-bufcleanup:1.2.0.110 reinoud-bufcleanup-base:1.2 mjf-ufs-trans:1.2.0.108 mjf-ufs-trans-base:1.2 vmlocking:1.2.0.106 vmlocking-base:1.2 ad-audiomp:1.2.0.104 ad-audiomp-base:1.2 yamt-idlelwp:1.2.0.102 post-newlock2-merge:1.2 newlock2-nbase:1.2 yamt-splraiseipl-base5:1.2 yamt-splraiseipl-base4:1.2 yamt-splraiseipl-base3:1.2 abandoned-netbsd-4-base:1.2 abandoned-netbsd-4:1.2.0.92 netbsd-3-1:1.2.0.98 netbsd-3-1-RELEASE:1.2 netbsd-3-0-2-RELEASE:1.2 yamt-splraiseipl-base2:1.2 netbsd-3-1-RC4:1.2 yamt-splraiseipl:1.2.0.96 yamt-splraiseipl-base:1.2 netbsd-3-1-RC3:1.2 yamt-pdpolicy-base9:1.2 newlock2:1.2.0.94 newlock2-base:1.2 yamt-pdpolicy-base8:1.2 netbsd-3-1-RC2:1.2 netbsd-3-1-RC1:1.2 yamt-pdpolicy-base7:1.2 netbsd-4:1.2.0.100 netbsd-4-base:1.2 yamt-pdpolicy-base6:1.2 chap-midi-nbase:1.2 netbsd-3-0-1-RELEASE:1.2 gdamore-uart:1.2.0.90 gdamore-uart-base:1.2 simonb-timcounters-final:1.2 yamt-pdpolicy-base5:1.2 chap-midi:1.2.0.88 chap-midi-base:1.2 yamt-pdpolicy-base4:1.2 yamt-pdpolicy-base3:1.2 peter-altq-base:1.2 peter-altq:1.2.0.86 yamt-pdpolicy-base2:1.2 elad-kernelauth-base:1.2 elad-kernelauth:1.2.0.84 yamt-pdpolicy:1.2.0.82 yamt-pdpolicy-base:1.2 yamt-uio_vmspace-base5:1.2 simonb-timecounters:1.2.0.80 simonb-timecounters-base:1.2 rpaulo-netinet-merge-pcb:1.2.0.78 rpaulo-netinet-merge-pcb-base:1.2 yamt-uio_vmspace:1.2.0.76 netbsd-3-0:1.2.0.74 netbsd-3-0-RELEASE:1.2 netbsd-3-0-RC6:1.2 yamt-readahead-base3:1.2 netbsd-3-0-RC5:1.2 netbsd-3-0-RC4:1.2 netbsd-3-0-RC3:1.2 yamt-readahead-base2:1.2 netbsd-3-0-RC2:1.2 yamt-readahead-pervnode:1.2 yamt-readahead-perfile:1.2 yamt-readahead:1.2.0.72 yamt-readahead-base:1.2 netbsd-3-0-RC1:1.2 yamt-vop-base3:1.2 netbsd-2-0-3-RELEASE:1.2 netbsd-2-1:1.2.0.70 yamt-vop-base2:1.2 thorpej-vnode-attr:1.2.0.68 thorpej-vnode-attr-base:1.2 netbsd-2-1-RELEASE:1.2 yamt-vop:1.2.0.66 yamt-vop-base:1.2 netbsd-2-1-RC6:1.2 netbsd-2-1-RC5:1.2 netbsd-2-1-RC4:1.2 netbsd-2-1-RC3:1.2 netbsd-2-1-RC2:1.2 netbsd-2-1-RC1:1.2 yamt-lazymbuf:1.2.0.64 yamt-km-base4:1.2 netbsd-2-0-2-RELEASE:1.2 yamt-km-base3:1.2 netbsd-3:1.2.0.62 netbsd-3-base:1.2 yamt-km-base2:1.2 yamt-km:1.2.0.58 yamt-km-base:1.2 kent-audio2:1.2.0.56 kent-audio2-base:1.2 netbsd-2-0-1-RELEASE:1.2 kent-audio1-beforemerge:1.2 netbsd-2:1.2.0.54 netbsd-2-base:1.2 kent-audio1:1.2.0.52 kent-audio1-base:1.2 netbsd-2-0-RELEASE:1.2 netbsd-2-0-RC5:1.2 netbsd-2-0-RC4:1.2 netbsd-2-0-RC3:1.2 netbsd-2-0-RC2:1.2 netbsd-2-0-RC1:1.2 netbsd-2-0:1.2.0.50 netbsd-2-0-base:1.2 netbsd-1-6-PATCH002-RELEASE:1.2 netbsd-1-6-PATCH002:1.2 netbsd-1-6-PATCH002-RC4:1.2 netbsd-1-6-PATCH002-RC3:1.2 netbsd-1-6-PATCH002-RC2:1.2 netbsd-1-6-PATCH002-RC1:1.2 ktrace-lwp:1.2.0.48 ktrace-lwp-base:1.2 netbsd-1-6-PATCH001:1.2 netbsd-1-6-PATCH001-RELEASE:1.2 netbsd-1-6-PATCH001-RC3:1.2 netbsd-1-6-PATCH001-RC2:1.2 netbsd-1-6-PATCH001-RC1:1.2 nathanw_sa_end:1.2 nathanw_sa_before_merge:1.2 fvdl_fs64_base:1.2 gmcgarry_ctxsw:1.2.0.46 gmcgarry_ctxsw_base:1.2 gmcgarry_ucred:1.2.0.44 gmcgarry_ucred_base:1.2 nathanw_sa_base:1.2 kqueue-aftermerge:1.2 kqueue-beforemerge:1.2 netbsd-1-6-RELEASE:1.2 netbsd-1-6-RC3:1.2 netbsd-1-6-RC2:1.2 netbsd-1-6-RC1:1.2 netbsd-1-6:1.2.0.42 netbsd-1-6-base:1.2 gehenna-devsw:1.2.0.40 gehenna-devsw-base:1.2 netbsd-1-5-PATCH003:1.2 eeh-devprop:1.2.0.38 eeh-devprop-base:1.2 newlock:1.2.0.36 newlock-base:1.2 ifpoll-base:1.2 nathanw_sa:1.2.0.32 thorpej-mips-cache:1.2.0.30 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.26 thorpej-devvp-base:1.2 netbsd-1-5-PATCH002:1.2 kqueue:1.2.0.28 kqueue-base:1.2 netbsd-1-5-PATCH001:1.2 thorpej_scsipi_beforemerge:1.2 thorpej_scsipi_nbase:1.2 netbsd-1-5-RELEASE:1.2 netbsd-1-5-BETA2:1.2 netbsd-1-5-BETA:1.2 netbsd-1-4-PATCH003:1.2 netbsd-1-5-ALPHA2:1.2 netbsd-1-5:1.2.0.24 netbsd-1-5-base:1.2 minoura-xpg4dl:1.2.0.22 minoura-xpg4dl-base:1.2 netbsd-1-4-PATCH002:1.2 chs-ubc2-newbase:1.2 wrstuden-devbsize-19991221:1.2 wrstuden-devbsize:1.2.0.20 wrstuden-devbsize-base:1.2 kame_141_19991130:1.2 comdex-fall-1999:1.2.0.18 comdex-fall-1999-base:1.2 fvdl-softdep:1.2.0.16 fvdl-softdep-base:1.2 thorpej_scsipi:1.2.0.14 thorpej_scsipi_base:1.2 netbsd-1-4-PATCH001:1.2 kame_14_19990705:1.2 kame_14_19990628:1.2 kame:1.2.0.12 chs-ubc2:1.2.0.10 chs-ubc2-base:1.2 netbsd-1-4-RELEASE:1.2 netbsd-1-4:1.2.0.8 netbsd-1-4-base:1.2 netbsd-1-3-PATCH003:1.1 netbsd-1-3-PATCH003-CANDIDATE2:1.1 kenh-if-detach:1.2.0.6 kenh-if-detach-base:1.2 netbsd-1-3-PATCH003-CANDIDATE1:1.1 netbsd-1-3-PATCH003-CANDIDATE0:1.1 chs-ubc:1.2.0.4 chs-ubc-base:1.2 eeh-paddr_t:1.2.0.2 eeh-paddr_t-base:1.2 netbsd-1-3-PATCH002:1.1 netbsd-1-3-PATCH001:1.1 netbsd-1-3-RELEASE:1.1 netbsd-1-3-BETA:1.1 netbsd-1-3:1.1.0.16 netbsd-1-3-base:1.1 thorpej-signal:1.1.0.14 thorpej-signal-base:1.1 marc-pcmcia:1.1.0.12 marc-pcmcia-bp:1.1 marc-pcmcia-base:1.1 bouyer-scsipi:1.1.0.10 is-newarp-before-merge:1.1 is-newarp:1.1.0.8 is-newarp-base:1.1 netbsd-1-2-PATCH001:1.1 mrg-vm-swap:1.1.0.6 thorpej-setroot:1.1.0.4 netbsd-1-2-RELEASE:1.1 netbsd-1-2:1.1.0.2 netbsd-1-2-base:1.1; locks; strict; comment @# @; 1.6 date 2023.05.14.16.13.05; author phx; state Exp; branches; next 1.5; commitid MGCXB7ntSDaTPWoE; 1.5 date 2022.09.06.17.50.18; author phx; state Exp; branches 1.5.4.1; next 1.4; commitid 5gaGwv7vekoKqPSD; 1.4 date 2022.04.04.19.33.45; author andvar; state Exp; branches; next 1.3; commitid m5vRGqZsOmDQZUyD; 1.3 date 2015.11.11.16.08.52; author phx; state Exp; branches 1.3.10.1 1.3.22.1; next 1.2; 1.2 date 98.01.05.20.51.31; author perry; state Exp; branches 1.2.198.1 1.2.218.1; next 1.1; 1.1 date 96.06.26.15.53.06; author is; state Exp; branches 1.1.2.1; next ; 1.5.4.1 date 2023.06.03.15.04.06; author martin; state Exp; branches; next ; commitid ImRleMVfbJBGQvrE; 1.3.10.1 date 2023.02.24.13.57.19; author martin; state Exp; branches; next 1.3.10.2; commitid t4EJOE9jfyZ4FMeE; 1.3.10.2 date 2023.06.03.15.09.01; author martin; state Exp; branches; next ; commitid 1KvD8gXxYevnSvrE; 1.3.22.1 date 2023.02.24.13.51.43; author martin; state Exp; branches; next 1.3.22.2; commitid QUrafZngpf8aDMeE; 1.3.22.2 date 2023.06.03.15.07.53; author martin; state Exp; branches; next ; commitid vuG792ktukRYRvrE; 1.2.198.1 date 2017.12.03.11.35.49; author jdolecek; state Exp; branches; next ; commitid XcIYRZTAh1LmerhA; 1.2.218.1 date 2015.12.27.12.09.29; author skrll; state Exp; branches; next ; 1.1.2.1 date 96.06.26.15.53.06; author is; state dead; branches; next 1.1.2.2; 1.1.2.2 date 96.06.26.15.53.07; author is; state Exp; branches; next ; desc @@ 1.6 log @Update loadbsd source and distribution binary to version 3.3. - Loading the kernel to the highest priority memory segment is default now. - New option -l to revert the to the previous behaviour of largest segment. - New option -M to define a minimum size for the memory segment. - Fixed some warnings and typos. - Put assembler inline source into its own source text startit.s. - Can be built with Bebbo's gcc6 Amiga port or with vbcc. @ text @# $NetBSD: README,v 1.5 2022/09/06 17:50:18 phx Exp $ BUILD INSTRUCTIONS Building LoadBSD isn't easy since several sources from the NetBSD repository are required. Compiling these sources under AmigaOS without clashes with the native GCC headers requires some knowledge. This document tries to describe the steps necessary to rebuild LoadBSD with a modern AmigaOS gcc, or vbcc with PosixLib. These instructions do only apply for LoadBSD versions using the loadfile() interface. Previous version do only require getopt.c and reboot.h. Note: It is not possible to build LoadBSD with the native NetBSD compiler! LoadBSD is an *AmigaOS* program and must be built with an AmigaOS compiler. Of course, a properly setup cross-compiler does work. Required sources from NetBSD (either HEAD or from a release branch) From src/sys/lib/libsa: loadfile.h,loadfile.c,loadfile_elf32.c,loadfile_aout.c place these files in the directory where you have loadbsd.c From src/sys/arch/m68k/include: aout_machdep.h,elf_machdep.h place these files in: /include/m68k From src/sys/arch/amiga/include: aout_machdep.h,elf_machdep.h,loadfile_machdep.h place these files in: /include/machine From src/sys/sys: exec.h,exec_elf.h,exec_aout.h,aout_mids.h,reboot.h place these files in: /include/sys Additional headers (see below): inttypes.h,namespace.h,lib/libsa/stand.h,lib/libkern/libkern.h place these files in: /include If all the mentioned files are placed at the correct place, loadfile_machdep.h must be modified. The patch is included below. Another small patch to loadfile_aout.c must be applied to fix an incompatibility for LoadBSD. However, that patch breaks loadfile() for other architectures using a.out! Note: This patch is required to be able to suppress loaded symbols when booting ancient a.out kernels that don't support them. Without the patch symbol suppressing doesn't work! That also means ELF isn't affected and LoadBSD could handle it differently but then it could probably break in other unpredictable ways... The headers inttypes.h, namespace.h, include/lib/libsa/stand.h and lib/libkern/libkern.h are listed completely below. Then it should be possible to recompile LoadBSD with gcc6 or newer by typing "make" (or "make -f vmakefile" with vbcc). If make fails, fix the problem and try again :-P Good luck! --- Missing files/patches --- include/machine/loadfile_machdep.h modification: --cut-- --- include/machine/loadfile_machdep.h~ Sun Mar 26 15:46:55 2023 +++ include/machine/loadfile_machdep.h Sun Mar 26 15:47:17 2023 @@@@ -38,7 +38,7 @@@@ #define LOAD_KERNEL LOAD_ALL #define COUNT_KERNEL COUNT_ALL -#ifdef _STANDALONE +#if 0 #define LOADADDR(a) ((a) + offset) #define ALIGNENTRY(a) 0 --cut-- loadfile_aout.c modification: --cut-- --- loadfile_aout.c~ Mon Feb 11 21:25:56 2002 +++ loadfile_aout.c Thu Jan 23 10:43:27 2003 @@@@ -217,8 +217,8 @@@@ loadfile_aout(fd, x, marks, flags) BCOPY(&x->a_syms, maxp, sizeof(x->a_syms)); if (flags & (LOAD_SYM|COUNT_SYM)) { - maxp += sizeof(x->a_syms); aoutp = maxp; + maxp += sizeof(x->a_syms); } if (x->a_syms > 0) { --cut-- include/inttypes.h: --cut-- #ifndef _INTTYPES_H #define _INTTYPES_H #include #include #ifndef be32toh #define be32toh(x) (x) #endif #ifndef roundup #define roundup(x,y) ((((x)+((y)-1))/(y))*(y)) #endif typedef unsigned long vaddr_t; typedef unsigned long paddr_t; #endif /* !_INTTYPES_H */ --cut-- include/namespace.h --cut-- #define _DIAGASSERT(x) /**/ extern char *program_name; #define getprogname() program_name #ifndef __UNCONST #define __UNCONST(a) ((void *)(unsigned long)(const void *)(a)) #endif --cut-- include/lib/libsa/stand.h --cut-- #include #include #include #include #include #include #include "inttypes.h" --cut-- include/lib/libkern/libkern.h --cut-- /* nothing, must only exist! */ --cut-- @ 1.5 log @Update loadbsd source and distribution binary to version 3.2. Including the following changes by Gunther Nikl: - Added detection of A600. - Fix handling of multiple -n options. Make it compile with recent AmigaOS gcc ports (for example gcc6), as older ports no longer work with current NetBSD header files. @ text @d1 1 a1 1 # $NetBSD: README,v 1.4 2022/04/04 19:33:45 andvar Exp $ d8 4 a11 3 the steps necessary to rebuild LoadBSD with an AmigaOS gcc. These instructions do only apply for LoadBSD versions using the loadfile() interface. Previous version do only require getopt.c and reboot.h. a19 1 From src/lib/libc/stdlib: getopt.c d31 1 a31 1 From src/sys/sys: exec.h,exec_elf.h,exec_aout.h,reboot.h d49 6 a54 2 Then it should be possible to recompile LoadBSD by typing "make". If make fails, fix the problem and try again :-P d60 15 a90 36 loadfile_machdep.h modification: --cut-- --- loadfile_machdep.h~ Wed Oct 31 18:20:45 2001 +++ loadfile_machdep.h Thu Jan 16 14:02:39 2003 @@@@ -42,6 +42,21 @@@@ #define BOOT_AOUT #define BOOT_ELF32 +#if 1 + +#define LOADADDR(a) (((u_long)(a)) + offset) +#define ALIGNENTRY(a) 0 +#define READ(f, b, c) read((f), (void *)LOADADDR(b), (c)) +#define BCOPY(s, d, c) memcpy((void *)LOADADDR(d), (void *)(s), (c)) +#define BZERO(d, c) memset((void *)LOADADDR(d), 0, (c)) +#define WARN(a) warn a +#define PROGRESS(a) /* nothing */ +#define ALLOC(a) malloc(a) +#define FREE(a, b) free(a) +#define OKMAGIC(a) ((a) == NMAGIC) + +#else /* ! true, false */ + #define LOAD_KERNEL LOAD_ALL #define COUNT_KERNEL COUNT_ALL @@@@ -83,4 +98,7 @@@@ void vcopy __P((u_long, u_long, u_long * void vzero __P((u_long, u_long *, size_t)); #endif + +#endif /* ! false */ + #endif /* ! _AMIGA_LOADFILE_MACHDEP_H_ */ --cut-- d97 9 a106 8 typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; typedef unsigned long long uint64_t; /* typedef int int32_t; typedef long long int64_t; */ d119 4 a132 1 #include @ 1.5.4.1 log @Pull up following revision(s) (requested by abs in ticket #189): sys/arch/amiga/stand/loadbsd/loadbsd.c: revision 1.38 distrib/amiga/stand/loadbsd.uue: revision 1.4 sys/arch/amiga/stand/loadbsd/startit.s: revision 1.1 sys/arch/amiga/stand/loadbsd/Makefile: revision 1.5 sys/arch/amiga/stand/loadbsd/vmakefile: revision 1.1 sys/arch/amiga/stand/loadbsd/README: revision 1.6 Update loadbsd source and distribution binary to version 3.3. - Loading the kernel to the highest priority memory segment is default now. - New option -l to revert the to the previous behaviour of largest segment. - New option -M to define a minimum size for the memory segment. - Fixed some warnings and typos. - Put assembler inline source into its own source text startit.s. - Can be built with Bebbo's gcc6 Amiga port or with vbcc. @ text @d1 1 a1 1 # $NetBSD: README,v 1.5 2022/09/06 17:50:18 phx Exp $ d8 3 a10 4 the steps necessary to rebuild LoadBSD with a modern AmigaOS gcc, or vbcc with PosixLib. These instructions do only apply for LoadBSD versions using the loadfile() interface. Previous version do only require getopt.c and reboot.h. d19 1 d31 1 a31 1 From src/sys/sys: exec.h,exec_elf.h,exec_aout.h,aout_mids.h,reboot.h d49 2 a50 6 The headers inttypes.h, namespace.h, include/lib/libsa/stand.h and lib/libkern/libkern.h are listed completely below. Then it should be possible to recompile LoadBSD with gcc6 or newer by typing "make" (or "make -f vmakefile" with vbcc). If make fails, fix the problem and try again :-P a55 15 include/machine/loadfile_machdep.h modification: --cut-- --- include/machine/loadfile_machdep.h~ Sun Mar 26 15:46:55 2023 +++ include/machine/loadfile_machdep.h Sun Mar 26 15:47:17 2023 @@@@ -38,7 +38,7 @@@@ #define LOAD_KERNEL LOAD_ALL #define COUNT_KERNEL COUNT_ALL -#ifdef _STANDALONE +#if 0 #define LOADADDR(a) ((a) + offset) #define ALIGNENTRY(a) 0 --cut-- d72 36 a113 9 #include #ifndef be32toh #define be32toh(x) (x) #endif #ifndef roundup #define roundup(x,y) ((((x)+((y)-1))/(y))*(y)) #endif d115 8 a134 4 #ifndef __UNCONST #define __UNCONST(a) ((void *)(unsigned long)(const void *)(a)) #endif d145 1 @ 1.4 log @fix various typos, mainly in comments. @ text @d1 1 a1 1 # $NetBSD: README,v 1.3 2015/11/11 16:08:52 phx Exp $ d12 1 a12 1 Note: Its not possible to build LoadBSD with the native NetBSD compiler! a107 15 Makefile: --cut-- TARGET = loadbsd CC = gcc -m68020 -Wa,-m68030 -fbaserel CFLAGS = -D_STANDALONE -I./include -O -fomit-frame-pointer -msmall-code LDFLAGS = -noixemul LDLIBS = OBJS = loadbsd.o loadfile.o loadfile_aout.o loadfile_elf32.o getopt.o $(TARGET): $(OBJS) $(CC) $(LDFLAGS) -o $@@ $(OBJS) $(LDLIBS) --cut-- @ 1.3 log @Build instructions and Makefile for loadbsd 3.0. Submitted by Gunther Nikl. @ text @d1 1 a1 1 # $NetBSD: README,v 1.2 1998/01/05 20:51:31 perry Exp $ d40 1 a40 1 must be modfied. The patch is included below. Another small patch to @ 1.3.10.1 log @Pull up following revision(s) (requested by abs in ticket #1803): sys/arch/amiga/stand/loadbsd/loadbsd.c: revision 1.37 distrib/amiga/stand/loadbsd.uue: revision 1.3 sys/arch/amiga/stand/loadbsd/Makefile: revision 1.4 sys/arch/amiga/stand/loadbsd/README: revision 1.5 Update loadbsd source and distribution binary to version 3.2. Including the following changes by Gunther Nikl: - Added detection of A600. - Fix handling of multiple -n options. Make it compile with recent AmigaOS gcc ports (for example gcc6), as older ports no longer work with current NetBSD header files. @ text @d1 1 a1 1 # $NetBSD: README,v 1.3 2015/11/11 16:08:52 phx Exp $ d12 1 a12 1 Note: It is not possible to build LoadBSD with the native NetBSD compiler! d108 15 @ 1.3.10.2 log @Pull up following revision(s) (requested by abs in ticket #1823): sys/arch/amiga/stand/loadbsd/loadbsd.c: revision 1.38 distrib/amiga/stand/loadbsd.uue: revision 1.4 sys/arch/amiga/stand/loadbsd/startit.s: revision 1.1 sys/arch/amiga/stand/loadbsd/Makefile: revision 1.5 sys/arch/amiga/stand/loadbsd/vmakefile: revision 1.1 sys/arch/amiga/stand/loadbsd/README: revision 1.6 Update loadbsd source and distribution binary to version 3.3. - Loading the kernel to the highest priority memory segment is default now. - New option -l to revert the to the previous behaviour of largest segment. - New option -M to define a minimum size for the memory segment. - Fixed some warnings and typos. - Put assembler inline source into its own source text startit.s. - Can be built with Bebbo's gcc6 Amiga port or with vbcc. @ text @d1 1 a1 1 # $NetBSD: README,v 1.3.10.1 2023/02/24 13:57:19 martin Exp $ d8 3 a10 4 the steps necessary to rebuild LoadBSD with a modern AmigaOS gcc, or vbcc with PosixLib. These instructions do only apply for LoadBSD versions using the loadfile() interface. Previous version do only require getopt.c and reboot.h. d19 1 d31 1 a31 1 From src/sys/sys: exec.h,exec_elf.h,exec_aout.h,aout_mids.h,reboot.h d49 2 a50 6 The headers inttypes.h, namespace.h, include/lib/libsa/stand.h and lib/libkern/libkern.h are listed completely below. Then it should be possible to recompile LoadBSD with gcc6 or newer by typing "make" (or "make -f vmakefile" with vbcc). If make fails, fix the problem and try again :-P a55 15 include/machine/loadfile_machdep.h modification: --cut-- --- include/machine/loadfile_machdep.h~ Sun Mar 26 15:46:55 2023 +++ include/machine/loadfile_machdep.h Sun Mar 26 15:47:17 2023 @@@@ -38,7 +38,7 @@@@ #define LOAD_KERNEL LOAD_ALL #define COUNT_KERNEL COUNT_ALL -#ifdef _STANDALONE +#if 0 #define LOADADDR(a) ((a) + offset) #define ALIGNENTRY(a) 0 --cut-- d72 36 a113 9 #include #ifndef be32toh #define be32toh(x) (x) #endif #ifndef roundup #define roundup(x,y) ((((x)+((y)-1))/(y))*(y)) #endif d115 8 a134 4 #ifndef __UNCONST #define __UNCONST(a) ((void *)(unsigned long)(const void *)(a)) #endif d145 1 @ 1.3.22.1 log @Pull up following revision(s) (requested by abs in ticket #1607): sys/arch/amiga/stand/loadbsd/loadbsd.c: revision 1.37 distrib/amiga/stand/loadbsd.uue: revision 1.3 sys/arch/amiga/stand/loadbsd/Makefile: revision 1.4 sys/arch/amiga/stand/loadbsd/README: revision 1.5 Update loadbsd source and distribution binary to version 3.2. Including the following changes by Gunther Nikl: - Added detection of A600. - Fix handling of multiple -n options. Make it compile with recent AmigaOS gcc ports (for example gcc6), as older ports no longer work with current NetBSD header files. @ text @d1 1 a1 1 # $NetBSD: README,v 1.3 2015/11/11 16:08:52 phx Exp $ d12 1 a12 1 Note: It is not possible to build LoadBSD with the native NetBSD compiler! d108 15 @ 1.3.22.2 log @Pull up following revision(s) (requested by abs in ticket #1638): sys/arch/amiga/stand/loadbsd/loadbsd.c: revision 1.38 distrib/amiga/stand/loadbsd.uue: revision 1.4 sys/arch/amiga/stand/loadbsd/startit.s: revision 1.1 sys/arch/amiga/stand/loadbsd/Makefile: revision 1.5 sys/arch/amiga/stand/loadbsd/vmakefile: revision 1.1 sys/arch/amiga/stand/loadbsd/README: revision 1.6 Update loadbsd source and distribution binary to version 3.3. - Loading the kernel to the highest priority memory segment is default now. - New option -l to revert the to the previous behaviour of largest segment. - New option -M to define a minimum size for the memory segment. - Fixed some warnings and typos. - Put assembler inline source into its own source text startit.s. - Can be built with Bebbo's gcc6 Amiga port or with vbcc. @ text @d1 1 a1 1 # $NetBSD: README,v 1.3.22.1 2023/02/24 13:51:43 martin Exp $ d8 3 a10 4 the steps necessary to rebuild LoadBSD with a modern AmigaOS gcc, or vbcc with PosixLib. These instructions do only apply for LoadBSD versions using the loadfile() interface. Previous version do only require getopt.c and reboot.h. d19 1 d31 1 a31 1 From src/sys/sys: exec.h,exec_elf.h,exec_aout.h,aout_mids.h,reboot.h d49 2 a50 6 The headers inttypes.h, namespace.h, include/lib/libsa/stand.h and lib/libkern/libkern.h are listed completely below. Then it should be possible to recompile LoadBSD with gcc6 or newer by typing "make" (or "make -f vmakefile" with vbcc). If make fails, fix the problem and try again :-P a55 15 include/machine/loadfile_machdep.h modification: --cut-- --- include/machine/loadfile_machdep.h~ Sun Mar 26 15:46:55 2023 +++ include/machine/loadfile_machdep.h Sun Mar 26 15:47:17 2023 @@@@ -38,7 +38,7 @@@@ #define LOAD_KERNEL LOAD_ALL #define COUNT_KERNEL COUNT_ALL -#ifdef _STANDALONE +#if 0 #define LOADADDR(a) ((a) + offset) #define ALIGNENTRY(a) 0 --cut-- d72 36 a113 9 #include #ifndef be32toh #define be32toh(x) (x) #endif #ifndef roundup #define roundup(x,y) ((((x)+((y)-1))/(y))*(y)) #endif d115 8 a134 4 #ifndef __UNCONST #define __UNCONST(a) ((void *)(unsigned long)(const void *)(a)) #endif d145 1 @ 1.2 log @RCSID Police. @ text @d1 1 a1 1 # $NetBSD$ d3 1 a3 3 This was prepared to compile with gcc 2.7.0 for AmigaOS and libnix 1.0. You don't need ixemul or special directories to run the binary, if compiled that way. d5 163 a167 16 With very old versions of gcc, you might need to add +2-. to relative offsets in the assembler part, but honestly, I suggest you upgrade your assembler (and compiler) instead, even if you know what I'm talking about and how to identify the lines. You'll need the (unchanged) getopt.c from src/lib/libc/stdlib, too. With newer libnix or the ADE version of gcc, or when removing the -noixemul option from CFLAGS, you might need (or want) to delete the sleep() function at the bottom of loadbsd, or getopt.o from the "OBJS =" line of Makefile. [Sorry, but I didn't dare to risk my gcc installation a few weeks before the release by trying to install ADE] Ignatios Souvatzis @ 1.2.198.1 log @update from HEAD @ text @d3 15 a17 1 BUILD INSTRUCTIONS d19 2 a20 6 Building LoadBSD isn't easy since several sources from the NetBSD repository are required. Compiling these sources under AmigaOS without clashes with the native GCC headers requires some knowledge. This document tries to describe the steps necessary to rebuild LoadBSD with an AmigaOS gcc. These instructions do only apply for LoadBSD versions using the loadfile() interface. Previous version do only require getopt.c and reboot.h. d22 1 a22 156 Note: Its not possible to build LoadBSD with the native NetBSD compiler! LoadBSD is an *AmigaOS* program and must be built with an AmigaOS compiler. Of course, a properly setup cross-compiler does work. Required sources from NetBSD (either HEAD or from a release branch) From src/sys/lib/libsa: loadfile.h,loadfile.c,loadfile_elf32.c,loadfile_aout.c From src/lib/libc/stdlib: getopt.c place these files in the directory where you have loadbsd.c From src/sys/arch/m68k/include: aout_machdep.h,elf_machdep.h place these files in: /include/m68k From src/sys/arch/amiga/include: aout_machdep.h,elf_machdep.h,loadfile_machdep.h place these files in: /include/machine From src/sys/sys: exec.h,exec_elf.h,exec_aout.h,reboot.h place these files in: /include/sys Additional headers (see below): inttypes.h,namespace.h,lib/libsa/stand.h,lib/libkern/libkern.h place these files in: /include If all the mentioned files are placed at the correct place, loadfile_machdep.h must be modfied. The patch is included below. Another small patch to loadfile_aout.c must be applied to fix an incompatibility for LoadBSD. However, that patch breaks loadfile() for other architectures using a.out! Note: This patch is required to be able to suppress loaded symbols when booting ancient a.out kernels that don't support them. Without the patch symbol suppressing doesn't work! That also means ELF isn't affected and LoadBSD could handle it differently but then it could probably break in other unpredictable ways... Then it should be possible to recompile LoadBSD by typing "make". If make fails, fix the problem and try again :-P Good luck! --- Missing files/patches --- loadfile_aout.c modification: --cut-- --- loadfile_aout.c~ Mon Feb 11 21:25:56 2002 +++ loadfile_aout.c Thu Jan 23 10:43:27 2003 @@@@ -217,8 +217,8 @@@@ loadfile_aout(fd, x, marks, flags) BCOPY(&x->a_syms, maxp, sizeof(x->a_syms)); if (flags & (LOAD_SYM|COUNT_SYM)) { - maxp += sizeof(x->a_syms); aoutp = maxp; + maxp += sizeof(x->a_syms); } if (x->a_syms > 0) { --cut-- loadfile_machdep.h modification: --cut-- --- loadfile_machdep.h~ Wed Oct 31 18:20:45 2001 +++ loadfile_machdep.h Thu Jan 16 14:02:39 2003 @@@@ -42,6 +42,21 @@@@ #define BOOT_AOUT #define BOOT_ELF32 +#if 1 + +#define LOADADDR(a) (((u_long)(a)) + offset) +#define ALIGNENTRY(a) 0 +#define READ(f, b, c) read((f), (void *)LOADADDR(b), (c)) +#define BCOPY(s, d, c) memcpy((void *)LOADADDR(d), (void *)(s), (c)) +#define BZERO(d, c) memset((void *)LOADADDR(d), 0, (c)) +#define WARN(a) warn a +#define PROGRESS(a) /* nothing */ +#define ALLOC(a) malloc(a) +#define FREE(a, b) free(a) +#define OKMAGIC(a) ((a) == NMAGIC) + +#else /* ! true, false */ + #define LOAD_KERNEL LOAD_ALL #define COUNT_KERNEL COUNT_ALL @@@@ -83,4 +98,7 @@@@ void vcopy __P((u_long, u_long, u_long * void vzero __P((u_long, u_long *, size_t)); #endif + +#endif /* ! false */ + #endif /* ! _AMIGA_LOADFILE_MACHDEP_H_ */ --cut-- Makefile: --cut-- TARGET = loadbsd CC = gcc -m68020 -Wa,-m68030 -fbaserel CFLAGS = -D_STANDALONE -I./include -O -fomit-frame-pointer -msmall-code LDFLAGS = -noixemul LDLIBS = OBJS = loadbsd.o loadfile.o loadfile_aout.o loadfile_elf32.o getopt.o $(TARGET): $(OBJS) $(CC) $(LDFLAGS) -o $@@ $(OBJS) $(LDLIBS) --cut-- include/inttypes.h: --cut-- #ifndef _INTTYPES_H #define _INTTYPES_H #include typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; typedef unsigned long long uint64_t; /* typedef int int32_t; typedef long long int64_t; */ typedef unsigned long vaddr_t; typedef unsigned long paddr_t; #endif /* !_INTTYPES_H */ --cut-- include/namespace.h --cut-- #define _DIAGASSERT(x) /**/ extern char *program_name; #define getprogname() program_name --cut-- include/lib/libsa/stand.h --cut-- #include #include #include #include #include #include #include #include "inttypes.h" --cut-- include/lib/libkern/libkern.h --cut-- /* nothing, must only exist! */ --cut-- @ 1.2.218.1 log @Sync with HEAD (as of 26th Dec) @ text @d1 1 a1 1 # $NetBSD: README,v 1.3 2015/11/11 16:08:52 phx Exp $ d3 3 a5 1 BUILD INSTRUCTIONS d7 16 a22 163 Building LoadBSD isn't easy since several sources from the NetBSD repository are required. Compiling these sources under AmigaOS without clashes with the native GCC headers requires some knowledge. This document tries to describe the steps necessary to rebuild LoadBSD with an AmigaOS gcc. These instructions do only apply for LoadBSD versions using the loadfile() interface. Previous version do only require getopt.c and reboot.h. Note: Its not possible to build LoadBSD with the native NetBSD compiler! LoadBSD is an *AmigaOS* program and must be built with an AmigaOS compiler. Of course, a properly setup cross-compiler does work. Required sources from NetBSD (either HEAD or from a release branch) From src/sys/lib/libsa: loadfile.h,loadfile.c,loadfile_elf32.c,loadfile_aout.c From src/lib/libc/stdlib: getopt.c place these files in the directory where you have loadbsd.c From src/sys/arch/m68k/include: aout_machdep.h,elf_machdep.h place these files in: /include/m68k From src/sys/arch/amiga/include: aout_machdep.h,elf_machdep.h,loadfile_machdep.h place these files in: /include/machine From src/sys/sys: exec.h,exec_elf.h,exec_aout.h,reboot.h place these files in: /include/sys Additional headers (see below): inttypes.h,namespace.h,lib/libsa/stand.h,lib/libkern/libkern.h place these files in: /include If all the mentioned files are placed at the correct place, loadfile_machdep.h must be modfied. The patch is included below. Another small patch to loadfile_aout.c must be applied to fix an incompatibility for LoadBSD. However, that patch breaks loadfile() for other architectures using a.out! Note: This patch is required to be able to suppress loaded symbols when booting ancient a.out kernels that don't support them. Without the patch symbol suppressing doesn't work! That also means ELF isn't affected and LoadBSD could handle it differently but then it could probably break in other unpredictable ways... Then it should be possible to recompile LoadBSD by typing "make". If make fails, fix the problem and try again :-P Good luck! --- Missing files/patches --- loadfile_aout.c modification: --cut-- --- loadfile_aout.c~ Mon Feb 11 21:25:56 2002 +++ loadfile_aout.c Thu Jan 23 10:43:27 2003 @@@@ -217,8 +217,8 @@@@ loadfile_aout(fd, x, marks, flags) BCOPY(&x->a_syms, maxp, sizeof(x->a_syms)); if (flags & (LOAD_SYM|COUNT_SYM)) { - maxp += sizeof(x->a_syms); aoutp = maxp; + maxp += sizeof(x->a_syms); } if (x->a_syms > 0) { --cut-- loadfile_machdep.h modification: --cut-- --- loadfile_machdep.h~ Wed Oct 31 18:20:45 2001 +++ loadfile_machdep.h Thu Jan 16 14:02:39 2003 @@@@ -42,6 +42,21 @@@@ #define BOOT_AOUT #define BOOT_ELF32 +#if 1 + +#define LOADADDR(a) (((u_long)(a)) + offset) +#define ALIGNENTRY(a) 0 +#define READ(f, b, c) read((f), (void *)LOADADDR(b), (c)) +#define BCOPY(s, d, c) memcpy((void *)LOADADDR(d), (void *)(s), (c)) +#define BZERO(d, c) memset((void *)LOADADDR(d), 0, (c)) +#define WARN(a) warn a +#define PROGRESS(a) /* nothing */ +#define ALLOC(a) malloc(a) +#define FREE(a, b) free(a) +#define OKMAGIC(a) ((a) == NMAGIC) + +#else /* ! true, false */ + #define LOAD_KERNEL LOAD_ALL #define COUNT_KERNEL COUNT_ALL @@@@ -83,4 +98,7 @@@@ void vcopy __P((u_long, u_long, u_long * void vzero __P((u_long, u_long *, size_t)); #endif + +#endif /* ! false */ + #endif /* ! _AMIGA_LOADFILE_MACHDEP_H_ */ --cut-- Makefile: --cut-- TARGET = loadbsd CC = gcc -m68020 -Wa,-m68030 -fbaserel CFLAGS = -D_STANDALONE -I./include -O -fomit-frame-pointer -msmall-code LDFLAGS = -noixemul LDLIBS = OBJS = loadbsd.o loadfile.o loadfile_aout.o loadfile_elf32.o getopt.o $(TARGET): $(OBJS) $(CC) $(LDFLAGS) -o $@@ $(OBJS) $(LDLIBS) --cut-- include/inttypes.h: --cut-- #ifndef _INTTYPES_H #define _INTTYPES_H #include typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; typedef unsigned long long uint64_t; /* typedef int int32_t; typedef long long int64_t; */ typedef unsigned long vaddr_t; typedef unsigned long paddr_t; #endif /* !_INTTYPES_H */ --cut-- include/namespace.h --cut-- #define _DIAGASSERT(x) /**/ extern char *program_name; #define getprogname() program_name --cut-- include/lib/libsa/stand.h --cut-- #include #include #include #include #include #include #include #include "inttypes.h" --cut-- include/lib/libkern/libkern.h --cut-- /* nothing, must only exist! */ --cut-- @ 1.1 log @- Add code to loadbsd.c to allow booting on DraCos. This could be done in a more elegant way, but it works as is, and we need it now. - Add a README and Makefile for the above. Note that this directory should NOT be added to ../Makefile's SUBDIRS. @ text @d1 2 @ 1.1.2.1 log @file README was added on branch netbsd-1-2 on 1996-06-26 15:53:07 +0000 @ text @d1 20 @ 1.1.2.2 log @- Add code to loadbsd.c to allow booting on DraCos. This could be done in a more elegant way, but it works as is, and we need it now. - Add a README and Makefile for the above. Note that this directory should NOT be added to ../Makefile's SUBDIRS. @ text @a0 20 This was prepared to compile with gcc 2.7.0 for AmigaOS and libnix 1.0. You don't need ixemul or special directories to run the binary, if compiled that way. With very old versions of gcc, you might need to add +2-. to relative offsets in the assembler part, but honestly, I suggest you upgrade your assembler (and compiler) instead, even if you know what I'm talking about and how to identify the lines. You'll need the (unchanged) getopt.c from src/lib/libc/stdlib, too. With newer libnix or the ADE version of gcc, or when removing the -noixemul option from CFLAGS, you might need (or want) to delete the sleep() function at the bottom of loadbsd, or getopt.o from the "OBJS =" line of Makefile. [Sorry, but I didn't dare to risk my gcc installation a few weeks before the release by trying to install ADE] Ignatios Souvatzis @