head 1.87; access; symbols netbsd-10-2-RELEASE:1.75 netbsd-9-5-RELEASE:1.67 netbsd-11-0-RELEASE:1.82 netbsd-11-0-RC7:1.82 netbsd-11-0-RC6:1.82 netbsd-11-0-RC5:1.82 netbsd-11-0-RC4:1.82 netbsd-11-0-RC3:1.82 netbsd-11-0-RC2:1.82 netbsd-11-0-RC1:1.82 perseant-exfatfs-base-20250801:1.82 netbsd-11:1.82.0.2 netbsd-11-base:1.82 netbsd-10-1-RELEASE:1.75 perseant-exfatfs-base-20240630:1.80 perseant-exfatfs:1.80.0.2 perseant-exfatfs-base:1.80 netbsd-8-3-RELEASE:1.67 netbsd-9-4-RELEASE:1.67 netbsd-10-0-RELEASE:1.75 netbsd-10-0-RC6:1.75 netbsd-10-0-RC5:1.75 netbsd-10-0-RC4:1.75 netbsd-10-0-RC3:1.75 netbsd-10-0-RC2:1.75 thorpej-ifq:1.79.0.4 thorpej-ifq-base:1.79 thorpej-altq-separation:1.79.0.2 thorpej-altq-separation-base:1.79 netbsd-10-0-RC1:1.75 netbsd-10:1.75.0.4 netbsd-10-base:1.75 bouyer-sunxi-drm:1.75.0.2 bouyer-sunxi-drm-base:1.75 netbsd-9-3-RELEASE:1.67 thorpej-i2c-spi-conf2:1.69.0.16 thorpej-i2c-spi-conf2-base:1.69 thorpej-futex2:1.69.0.14 thorpej-futex2-base:1.69 thorpej-cfargs2:1.69.0.12 thorpej-cfargs2-base:1.69 cjep_sun2x-base1:1.69 cjep_sun2x:1.69.0.10 cjep_sun2x-base:1.69 cjep_staticlib_x-base1:1.69 netbsd-9-2-RELEASE:1.67 cjep_staticlib_x:1.69.0.8 cjep_staticlib_x-base:1.69 thorpej-i2c-spi-conf:1.69.0.6 thorpej-i2c-spi-conf-base:1.69 thorpej-cfargs:1.69.0.4 thorpej-cfargs-base:1.69 thorpej-futex:1.69.0.2 thorpej-futex-base:1.69 netbsd-9-1-RELEASE:1.67 bouyer-xenpvh-base2:1.68 phil-wifi-20200421:1.68 bouyer-xenpvh-base1:1.68 phil-wifi-20200411:1.68 bouyer-xenpvh:1.68.0.6 bouyer-xenpvh-base:1.68 is-mlppp:1.68.0.4 is-mlppp-base:1.68 phil-wifi-20200406:1.68 netbsd-8-2-RELEASE:1.67 ad-namecache-base3:1.68 netbsd-9-0-RELEASE:1.67 netbsd-9-0-RC2:1.67 ad-namecache-base2:1.68 ad-namecache-base1:1.68 ad-namecache:1.68.0.2 ad-namecache-base:1.68 netbsd-9-0-RC1:1.67 phil-wifi-20191119:1.68 netbsd-9:1.67.0.18 netbsd-9-base:1.67 phil-wifi-20190609:1.67 netbsd-8-1-RELEASE:1.67 netbsd-8-1-RC1:1.67 isaki-audio2:1.67.0.16 isaki-audio2-base:1.67 pgoyette-compat-merge-20190127:1.67 pgoyette-compat-20190127:1.67 pgoyette-compat-20190118:1.67 pgoyette-compat-1226:1.67 pgoyette-compat-1126:1.67 pgoyette-compat-1020:1.67 pgoyette-compat-0930:1.67 pgoyette-compat-0906:1.67 netbsd-7-2-RELEASE:1.61.2.1 pgoyette-compat-0728:1.67 netbsd-8-0-RELEASE:1.67 phil-wifi:1.67.0.14 phil-wifi-base:1.67 pgoyette-compat-0625:1.67 netbsd-8-0-RC2:1.67 pgoyette-compat-0521:1.67 pgoyette-compat-0502:1.67 pgoyette-compat-0422:1.67 netbsd-8-0-RC1:1.67 pgoyette-compat-0415:1.67 pgoyette-compat-0407:1.67 pgoyette-compat-0330:1.67 pgoyette-compat-0322:1.67 pgoyette-compat-0315:1.67 netbsd-7-1-2-RELEASE:1.61 pgoyette-compat:1.67.0.12 pgoyette-compat-base:1.67 netbsd-7-1-1-RELEASE:1.61 tls-maxphys-base-20171202:1.67 matt-nb8-mediatek:1.67.0.10 matt-nb8-mediatek-base:1.67 nick-nhusb-base-20170825:1.67 perseant-stdc-iso10646:1.67.0.8 perseant-stdc-iso10646-base:1.67 netbsd-8:1.67.0.6 netbsd-8-base:1.67 prg-localcount2-base3:1.67 prg-localcount2-base2:1.67 prg-localcount2-base1:1.67 prg-localcount2:1.67.0.4 prg-localcount2-base:1.67 pgoyette-localcount-20170426:1.67 bouyer-socketcan-base1:1.67 jdolecek-ncq:1.67.0.2 jdolecek-ncq-base:1.67 pgoyette-localcount-20170320:1.67 netbsd-7-1:1.61.0.8 netbsd-7-1-RELEASE:1.61 netbsd-7-1-RC2:1.61 nick-nhusb-base-20170204:1.67 netbsd-7-nhusb-base-20170116:1.61 bouyer-socketcan:1.65.0.2 bouyer-socketcan-base:1.65 pgoyette-localcount-20170107:1.65 netbsd-7-1-RC1:1.61 nick-nhusb-base-20161204:1.64 pgoyette-localcount-20161104:1.64 netbsd-7-0-2-RELEASE:1.61 nick-nhusb-base-20161004:1.64 localcount-20160914:1.64 netbsd-7-nhusb:1.61.0.6 netbsd-7-nhusb-base:1.61 pgoyette-localcount-20160806:1.64 pgoyette-localcount-20160726:1.64 pgoyette-localcount:1.63.0.2 pgoyette-localcount-base:1.63 nick-nhusb-base-20160907:1.63 nick-nhusb-base-20160529:1.63 netbsd-7-0-1-RELEASE:1.61 nick-nhusb-base-20160422:1.63 nick-nhusb-base-20160319:1.63 nick-nhusb-base-20151226:1.63 netbsd-7-0:1.61.0.4 netbsd-7-0-RELEASE:1.61 nick-nhusb-base-20150921:1.63 netbsd-7-0-RC3:1.61 netbsd-7-0-RC2:1.61 netbsd-7-0-RC1:1.61 nick-nhusb-base-20150606:1.63 nick-nhusb-base-20150406:1.63 nick-nhusb:1.62.0.2 nick-nhusb-base:1.62 netbsd-5-2-3-RELEASE:1.35.12.1 netbsd-5-1-5-RELEASE:1.35.12.1 netbsd-6-0-6-RELEASE:1.48 netbsd-6-1-5-RELEASE:1.48 netbsd-7:1.61.0.2 netbsd-7-base:1.61 yamt-pagecache-base9:1.57 yamt-pagecache-tag8:1.47.2.2 netbsd-6-1-4-RELEASE:1.48 netbsd-6-0-5-RELEASE:1.48 tls-earlyentropy:1.54.0.2 tls-earlyentropy-base:1.61 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.54 riastradh-drm2-base3:1.54 netbsd-6-1-3-RELEASE:1.48 netbsd-6-0-4-RELEASE:1.48 netbsd-5-2-2-RELEASE:1.35.12.1 netbsd-5-1-4-RELEASE:1.35.12.1 netbsd-6-1-2-RELEASE:1.48 netbsd-6-0-3-RELEASE:1.48 netbsd-5-2-1-RELEASE:1.35.12.1 netbsd-5-1-3-RELEASE:1.35.12.1 rmind-smpnet-nbase:1.58 netbsd-6-1-1-RELEASE:1.48 riastradh-drm2-base2:1.50 riastradh-drm2-base1:1.50 riastradh-drm2:1.50.0.6 riastradh-drm2-base:1.50 rmind-smpnet:1.50.0.4 rmind-smpnet-base:1.58 netbsd-6-1:1.48.0.14 netbsd-6-0-2-RELEASE:1.48 netbsd-6-1-RELEASE:1.48 khorben-n900:1.50.0.2 netbsd-6-1-RC4:1.48 netbsd-6-1-RC3:1.48 agc-symver:1.49.0.4 agc-symver-base:1.49 netbsd-6-1-RC2:1.48 netbsd-6-1-RC1:1.48 yamt-pagecache-base8:1.49 netbsd-5-2:1.35.12.1.0.10 netbsd-6-0-1-RELEASE:1.48 yamt-pagecache-base7:1.49 netbsd-5-2-RELEASE:1.35.12.1 netbsd-5-2-RC1:1.35.12.1 matt-nb6-plus-nbase:1.48 yamt-pagecache-base6:1.49 netbsd-6-0:1.48.0.12 netbsd-6-0-RELEASE:1.48 netbsd-6-0-RC2:1.48 tls-maxphys:1.48.0.10 tls-maxphys-base:1.61 matt-nb6-plus:1.48.0.8 matt-nb6-plus-base:1.48 netbsd-6-0-RC1:1.48 jmcneill-usbmp-base10:1.48 yamt-pagecache-base5:1.48 jmcneill-usbmp-base9:1.48 yamt-pagecache-base4:1.48 jmcneill-usbmp-base8:1.48 jmcneill-usbmp-base7:1.48 jmcneill-usbmp-base6:1.48 jmcneill-usbmp-base5:1.48 jmcneill-usbmp-base4:1.48 jmcneill-usbmp-base3:1.48 jmcneill-usbmp-pre-base2:1.48 jmcneill-usbmp-base2:1.48 netbsd-6:1.48.0.6 netbsd-6-base:1.48 netbsd-5-1-2-RELEASE:1.35.12.1 netbsd-5-1-1-RELEASE:1.35.12.1 jmcneill-usbmp:1.48.0.4 jmcneill-usbmp-base:1.48 jmcneill-audiomp3:1.48.0.2 jmcneill-audiomp3-base:1.48 yamt-pagecache-base3:1.47 yamt-pagecache-base2:1.47 yamt-pagecache:1.47.0.2 yamt-pagecache-base:1.47 rmind-uvmplock-nbase:1.46 cherry-xenmp:1.46.0.2 cherry-xenmp-base:1.46 bouyer-quota2-nbase:1.44 bouyer-quota2:1.44.0.4 bouyer-quota2-base:1.44 jruoho-x86intr:1.44.0.2 jruoho-x86intr-base:1.44 matt-mips64-premerge-20101231:1.44 matt-nb5-mips64-premerge-20101231:1.35.12.1 matt-nb5-pq3:1.35.12.1.0.8 matt-nb5-pq3-base:1.35.12.1 netbsd-5-1:1.35.12.1.0.6 netbsd-5-1-RELEASE:1.35.12.1 uebayasi-xip-base4:1.44 uebayasi-xip-base3:1.44 yamt-nfs-mp-base11:1.44 netbsd-5-1-RC4:1.35.12.1 matt-nb5-mips64-k15:1.35.12.1 uebayasi-xip-base2:1.44 yamt-nfs-mp-base10:1.44 netbsd-5-1-RC3:1.35.12.1 netbsd-5-1-RC2:1.35.12.1 uebayasi-xip-base1:1.43 netbsd-5-1-RC1:1.35.12.1 rmind-uvmplock:1.43.0.4 rmind-uvmplock-base:1.46 yamt-nfs-mp-base9:1.43 uebayasi-xip:1.43.0.2 uebayasi-xip-base:1.43 netbsd-5-0-2-RELEASE:1.35.12.1 matt-nb5-mips64-premerge-20091211:1.35.12.1 matt-premerge-20091211:1.43 yamt-nfs-mp-base8:1.42 matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.35.12.1 matt-nb4-mips64-k7-u2a-k9b:1.35.12.1 matt-nb5-mips64-u1-k1-k5:1.35.12.1 yamt-nfs-mp-base7:1.42 matt-nb5-mips64:1.35.12.1.0.4 netbsd-5-0-1-RELEASE:1.35.12.1 jymxensuspend-base:1.42 yamt-nfs-mp-base6:1.42 yamt-nfs-mp-base5:1.42 yamt-nfs-mp-base4:1.41 jym-xensuspend-nbase:1.42 yamt-nfs-mp-base3:1.41 nick-hppapmap-base4:1.41 nick-hppapmap-base3:1.41 netbsd-5-0:1.35.12.1.0.2 netbsd-5-0-RELEASE:1.35.12.1 netbsd-5-0-RC4:1.35.12.1 netbsd-5-0-RC3:1.35.12.1 nick-hppapmap-base2:1.41 netbsd-5-0-RC2:1.35.12.1 jym-xensuspend:1.41.0.2 jym-xensuspend-base:1.41 netbsd-5-0-RC1:1.35.12.1 haad-dm-base2:1.37 haad-nbase2:1.37 ad-audiomp2:1.37.0.2 ad-audiomp2-base:1.37 netbsd-5:1.35.0.12 netbsd-5-base:1.35 nick-hppapmap:1.35.0.10 nick-hppapmap-base:1.41 matt-mips64-base2:1.35 matt-mips64:1.28.0.24 haad-dm-base1:1.35 wrstuden-revivesa-base-4:1.35 netbsd-4-0-1-RELEASE:1.26 wrstuden-revivesa-base-3:1.35 wrstuden-revivesa-base-2:1.35 wrstuden-fixsa-newbase:1.26 nick-csl-alignment-base5:1.28 haad-dm:1.35.0.8 haad-dm-base:1.37 wrstuden-revivesa-base-1:1.35 simonb-wapbl-nbase:1.35 yamt-pf42-base4:1.35 simonb-wapbl:1.35.0.6 simonb-wapbl-base:1.35 yamt-pf42-base3:1.35 hpcarm-cleanup-nbase:1.35 yamt-pf42-baseX:1.34 yamt-pf42-base2:1.35 yamt-nfs-mp-base2:1.35 wrstuden-revivesa:1.35.0.4 wrstuden-revivesa-base:1.35 yamt-nfs-mp:1.35.0.2 yamt-nfs-mp-base:1.35 yamt-pf42:1.34.0.2 yamt-pf42-base:1.34 ad-socklock-base1:1.33 yamt-lazymbuf-base15:1.33 yamt-lazymbuf-base14:1.33 keiichi-mipv6-nbase:1.33 mjf-devfs2:1.33.0.6 mjf-devfs2-base:1.40 nick-net80211-sync:1.33.0.4 nick-net80211-sync-base:1.33 keiichi-mipv6:1.33.0.2 keiichi-mipv6-base:1.33 bouyer-xeni386-merge1:1.29.6.1 matt-armv6-prevmlocking:1.28 wrstuden-fixsa-base-1:1.26 vmlocking2-base3:1.32 netbsd-4-0:1.26.0.12 netbsd-4-0-RELEASE:1.26 bouyer-xeni386-nbase:1.33 yamt-kmem-base3:1.29 cube-autoconf:1.29.0.8 cube-autoconf-base:1.29 yamt-kmem-base2:1.29 bouyer-xeni386:1.29.0.6 bouyer-xeni386-base:1.33 yamt-kmem:1.29.0.4 yamt-kmem-base:1.29 vmlocking2-base2:1.29 reinoud-bufcleanup-nbase:1.29 vmlocking2:1.29.0.2 vmlocking2-base1:1.29 netbsd-4-0-RC5:1.26 matt-nb4-arm:1.26.0.10 matt-nb4-arm-base:1.26 matt-armv6-nbase:1.33 jmcneill-base:1.28 netbsd-4-0-RC4:1.26 mjf-devfs:1.28.0.22 mjf-devfs-base:1.33 bouyer-xenamd64-base2:1.29 vmlocking-nbase:1.29 yamt-x86pmap-base4:1.28 bouyer-xenamd64:1.28.0.20 bouyer-xenamd64-base:1.29 netbsd-4-0-RC3:1.26 yamt-x86pmap-base3:1.28 yamt-x86pmap-base2:1.28 netbsd-4-0-RC2:1.26 yamt-x86pmap:1.28.0.18 yamt-x86pmap-base:1.28 netbsd-4-0-RC1:1.26 matt-armv6:1.28.0.16 matt-armv6-base:1.32 matt-mips64-base:1.28 jmcneill-pm:1.28.0.14 jmcneill-pm-base:1.29 hpcarm-cleanup:1.28.0.12 hpcarm-cleanup-base:1.33 nick-csl-alignment:1.28.0.10 nick-csl-alignment-base:1.28 netbsd-3-1-1-RELEASE:1.20 netbsd-3-0-3-RELEASE:1.20 yamt-idlelwp-base8:1.28 wrstuden-fixsa:1.26.0.8 wrstuden-fixsa-base:1.26 thorpej-atomic:1.28.0.8 thorpej-atomic-base:1.28 reinoud-bufcleanup:1.28.0.6 reinoud-bufcleanup-base:1.29 mjf-ufs-trans:1.28.0.4 mjf-ufs-trans-base:1.28 vmlocking:1.28.0.2 vmlocking-base:1.28 ad-audiomp:1.27.0.4 ad-audiomp-base:1.27 yamt-idlelwp:1.27.0.2 post-newlock2-merge:1.27 newlock2-nbase:1.26 yamt-splraiseipl-base5:1.26 yamt-splraiseipl-base4:1.26 yamt-splraiseipl-base3:1.26 abandoned-netbsd-4-base:1.24 abandoned-netbsd-4:1.24.0.4 netbsd-3-1:1.20.0.6 netbsd-3-1-RELEASE:1.20 netbsd-3-0-2-RELEASE:1.20 yamt-splraiseipl-base2:1.26 netbsd-3-1-RC4:1.20 yamt-splraiseipl:1.26.0.4 yamt-splraiseipl-base:1.26 netbsd-3-1-RC3:1.20 yamt-pdpolicy-base9:1.26 newlock2:1.26.0.2 newlock2-base:1.26 yamt-pdpolicy-base8:1.26 netbsd-3-1-RC2:1.20 netbsd-3-1-RC1:1.20 yamt-pdpolicy-base7:1.24 netbsd-4:1.26.0.6 netbsd-4-base:1.26 yamt-pdpolicy-base6:1.24 chap-midi-nbase:1.24 netbsd-3-0-1-RELEASE:1.20 gdamore-uart:1.24.0.2 gdamore-uart-base:1.24 simonb-timcounters-final:1.23 yamt-pdpolicy-base5:1.23 chap-midi:1.23.0.14 chap-midi-base:1.24 yamt-pdpolicy-base4:1.23 yamt-pdpolicy-base3:1.23 peter-altq-base:1.23 peter-altq:1.23.0.12 yamt-pdpolicy-base2:1.23 elad-kernelauth-base:1.23 elad-kernelauth:1.23.0.10 yamt-pdpolicy:1.23.0.8 yamt-pdpolicy-base:1.23 yamt-uio_vmspace-base5:1.23 simonb-timecounters:1.23.0.6 simonb-timecounters-base:1.23 rpaulo-netinet-merge-pcb:1.23.0.4 rpaulo-netinet-merge-pcb-base:1.26 yamt-uio_vmspace:1.23.0.2 netbsd-3-0:1.20.0.4 netbsd-3-0-RELEASE:1.20 netbsd-3-0-RC6:1.20 yamt-readahead-base3:1.22 netbsd-3-0-RC5:1.20 netbsd-3-0-RC4:1.20 netbsd-3-0-RC3:1.20 yamt-readahead-base2:1.22 netbsd-3-0-RC2:1.20 yamt-readahead-pervnode:1.22 yamt-readahead-perfile:1.22 yamt-readahead:1.22.0.8 yamt-readahead-base:1.22 netbsd-3-0-RC1:1.20 yamt-vop-base3:1.22 netbsd-2-0-3-RELEASE:1.15 netbsd-2-1:1.15.0.6 yamt-vop-base2:1.22 thorpej-vnode-attr:1.22.0.6 thorpej-vnode-attr-base:1.22 netbsd-2-1-RELEASE:1.15 yamt-vop:1.22.0.4 yamt-vop-base:1.22 netbsd-2-1-RC6:1.15 netbsd-2-1-RC5:1.15 netbsd-2-1-RC4:1.15 netbsd-2-1-RC3:1.15 netbsd-2-1-RC2:1.15 netbsd-2-1-RC1:1.15 yamt-lazymbuf:1.22.0.2 yamt-km-base4:1.20 netbsd-2-0-2-RELEASE:1.15 yamt-km-base3:1.20 netbsd-3:1.20.0.2 netbsd-3-base:1.20 yamt-km-base2:1.19 yamt-km:1.19.0.6 yamt-km-base:1.19 kent-audio2:1.19.0.4 kent-audio2-base:1.20 netbsd-2-0-1-RELEASE:1.15 kent-audio1-beforemerge:1.19 netbsd-2:1.15.0.4 netbsd-2-base:1.15 kent-audio1:1.19.0.2 kent-audio1-base:1.19 netbsd-2-0-RELEASE:1.15 netbsd-2-0-RC5:1.15 netbsd-2-0-RC4:1.15 netbsd-2-0-RC3:1.15 netbsd-2-0-RC2:1.15 netbsd-2-0-RC1:1.15 netbsd-2-0:1.15.0.2 netbsd-2-0-base:1.15 netbsd-1-6-PATCH002-RELEASE:1.11.4.2 netbsd-1-6-PATCH002:1.11.4.2 netbsd-1-6-PATCH002-RC4:1.11.4.2 netbsd-1-6-PATCH002-RC3:1.11.4.2 netbsd-1-6-PATCH002-RC2:1.11.4.1 netbsd-1-6-PATCH002-RC1:1.11.4.1 ktrace-lwp:1.14.0.2 ktrace-lwp-base:1.22 netbsd-1-6-PATCH001:1.11 netbsd-1-6-PATCH001-RELEASE:1.11 netbsd-1-6-PATCH001-RC3:1.11 netbsd-1-6-PATCH001-RC2:1.11 netbsd-1-6-PATCH001-RC1:1.11 nathanw_sa_end:1.8.2.6 nathanw_sa_before_merge:1.11 fvdl_fs64_base:1.11 gmcgarry_ctxsw:1.11.0.8 gmcgarry_ctxsw_base:1.11 gmcgarry_ucred:1.11.0.6 gmcgarry_ucred_base:1.11 nathanw_sa_base:1.11 kqueue-aftermerge:1.11 kqueue-beforemerge:1.11 netbsd-1-6-RELEASE:1.11 netbsd-1-6-RC3:1.11 netbsd-1-6-RC2:1.11 netbsd-1-6-RC1:1.11 netbsd-1-6:1.11.0.4 netbsd-1-6-base:1.11 gehenna-devsw:1.11.0.2 gehenna-devsw-base:1.11 eeh-devprop:1.8.0.8 eeh-devprop-base:1.8 newlock:1.8.0.6 newlock-base:1.8 ifpoll-base:1.8 nathanw_sa:1.8.0.2 kqueue-base:1.11 kqueue:1.6.0.2; locks; strict; comment @# @; 1.87 date 2026.09.15.10.42.02; author sborrill; state Exp; branches; next 1.86; commitid 2BStfqIM7NlKOHVG; 1.86 date 2025.11.10.15.41.38; author christos; state Exp; branches; next 1.85; commitid 4SBgjNJyEQqMp1iG; 1.85 date 2025.11.10.15.34.03; author christos; state Exp; branches; next 1.84; commitid d7uOeAT2cbx2n1iG; 1.84 date 2025.10.26.16.24.59; author christos; state Exp; branches; next 1.83; commitid tmDH894c0efD86gG; 1.83 date 2025.10.26.16.23.59; author christos; state Exp; branches; next 1.82; commitid vp3ce8qopf3j86gG; 1.82 date 2024.09.28.19.35.55; author christos; state Exp; branches; next 1.81; commitid fAPNzINKOT8BOBrF; 1.81 date 2024.07.01.01.35.52; author christos; state Exp; branches; next 1.80; commitid N1OpVh0jGoxTH4gF; 1.80 date 2024.06.29.13.46.09; author christos; state Exp; branches 1.80.2.1; next 1.79; commitid jf6SXx4AuJarOSfF; 1.79 date 2023.08.19.17.49.49; author christos; state Exp; branches; next 1.78; commitid lq1Gy3ELP29XhqBE; 1.78 date 2023.08.18.19.41.19; author christos; state Exp; branches; next 1.77; commitid 6tkBFnqdux91WiBE; 1.77 date 2023.07.29.15.04.28; author christos; state Exp; branches; next 1.76; commitid IPtJp17rLysK2IyE; 1.76 date 2023.07.28.19.01.11; author christos; state Exp; branches; next 1.75; commitid wqsI7WnCVTYeoByE; 1.75 date 2021.12.02.04.29.48; author ryo; state Exp; branches; next 1.74; commitid mKCsBN5foUfbX1jD; 1.74 date 2021.11.24.18.52.13; author ryo; state Exp; branches; next 1.73; commitid S35hARbOTkuZY4iD; 1.73 date 2021.09.20.02.20.02; author thorpej; state Exp; branches; next 1.72; commitid K8mXaSHdBZI2AD9D; 1.72 date 2021.09.20.00.09.01; author thorpej; state Exp; branches; next 1.71; commitid iO2ZHyElTHo8RC9D; 1.71 date 2021.09.19.23.51.36; author thorpej; state Exp; branches; next 1.70; commitid pcMYBy9yows8LC9D; 1.70 date 2021.09.19.23.01.49; author thorpej; state Exp; branches; next 1.69; commitid b0960e1aU60LtC9D; 1.69 date 2020.04.26.18.53.32; author thorpej; state Exp; branches 1.69.2.1; next 1.68; commitid xaklHg2Aa3B2wV5C; 1.68 date 2019.11.09.23.44.31; author jdolecek; state Exp; branches; next 1.67; commitid yAyQ8W3yCAgtyeKB; 1.67 date 2017.02.03.16.28.34; author christos; state Exp; branches 1.67.14.1; next 1.66; 1.66 date 2017.02.03.06.06.09; author martin; state Exp; branches; next 1.65; 1.65 date 2017.01.02.16.32.09; author manu; state Exp; branches 1.65.2.1; next 1.64; 1.64 date 2016.07.24.13.22.01; author njoly; state Exp; branches; next 1.63; 1.63 date 2015.03.23.07.50.03; author ozaki-r; state Exp; branches 1.63.2.1; next 1.62; 1.62 date 2014.11.22.13.18.45; author njoly; state Exp; branches 1.62.2.1; next 1.61; 1.61 date 2014.05.31.08.51.19; author njoly; state Exp; branches 1.61.2.1; next 1.60; 1.60 date 2014.05.29.10.35.27; author njoly; state Exp; branches; next 1.59; 1.59 date 2014.05.20.17.24.49; author njoly; state Exp; branches; next 1.58; 1.58 date 2014.05.17.09.23.51; author njoly; state Exp; branches; next 1.57; 1.57 date 2014.05.06.17.33.35; author njoly; state Exp; branches; next 1.56; 1.56 date 2014.05.04.10.08.53; author njoly; state Exp; branches; next 1.55; 1.55 date 2014.04.08.16.48.01; author njoly; state Exp; branches; next 1.54; 1.54 date 2013.12.08.15.55.10; author njoly; state Exp; branches 1.54.2.1; next 1.53; 1.53 date 2013.11.19.03.52.07; author chs; state Exp; branches; next 1.52; 1.52 date 2013.11.07.19.37.18; author njoly; state Exp; branches; next 1.51; 1.51 date 2013.09.24.13.27.49; author njoly; state Exp; branches; next 1.50; 1.50 date 2013.04.08.20.54.48; author pooka; state Exp; branches 1.50.4.1; next 1.49; 1.49 date 2012.09.19.21.19.14; author pooka; state Exp; branches; next 1.48; 1.48 date 2011.11.18.04.03.50; author christos; state Exp; branches 1.48.10.1; next 1.47; 1.47 date 2011.07.09.14.49.40; author christos; state Exp; branches 1.47.2.1; next 1.46; 1.46 date 2011.05.30.17.50.31; author alnsn; state Exp; branches; next 1.45; 1.45 date 2011.04.15.13.04.52; author he; state Exp; branches; next 1.44; 1.44 date 2010.07.07.01.30.33; author chs; state Exp; branches 1.44.2.1; next 1.43; 1.43 date 2009.11.24.10.42.43; author njoly; state Exp; branches 1.43.2.1 1.43.4.1; next 1.42; 1.42 date 2009.06.08.13.26.57; author njoly; state Exp; branches; next 1.41; 1.41 date 2009.01.17.22.28.52; author njoly; state Exp; branches 1.41.2.1; next 1.40; 1.40 date 2009.01.15.23.48.50; author njoly; state Exp; branches; next 1.39; 1.39 date 2009.01.13.22.27.43; author pooka; state Exp; branches; next 1.38; 1.38 date 2009.01.13.04.31.12; author rtr; state Exp; branches; next 1.37; 1.37 date 2008.11.19.18.36.03; author ad; state Exp; branches; next 1.36; 1.36 date 2008.11.12.18.07.40; author njoly; state Exp; branches; next 1.35; 1.35 date 2008.04.23.14.07.49; author ad; state Exp; branches 1.35.2.1 1.35.4.1 1.35.8.1 1.35.10.1 1.35.12.1; next 1.34; 1.34 date 2008.04.04.12.38.52; author njoly; state Exp; branches 1.34.2.1; next 1.33; 1.33 date 2008.01.15.22.38.34; author njoly; state Exp; branches 1.33.6.1; next 1.32; 1.32 date 2007.12.24.14.17.17; author njoly; state Exp; branches; next 1.31; 1.31 date 2007.12.21.22.26.21; author njoly; state Exp; branches; next 1.30; 1.30 date 2007.12.20.23.02.52; author dsl; state Exp; branches; next 1.29; 1.29 date 2007.11.16.12.51.55; author njoly; state Exp; branches 1.29.2.1 1.29.6.1; next 1.28; 1.28 date 2007.03.04.06.01.19; author christos; state Exp; branches 1.28.14.1 1.28.16.1 1.28.20.1 1.28.22.1; next 1.27; 1.27 date 2007.02.09.21.55.18; author ad; state Exp; branches 1.27.2.1; next 1.26; 1.26 date 2006.09.01.20.58.18; author matt; state Exp; branches 1.26.2.1; next 1.25; 1.25 date 2006.08.30.11.14.39; author matt; state Exp; branches; next 1.24; 1.24 date 2006.06.10.21.15.33; author christos; state Exp; branches; next 1.23; 1.23 date 2005.12.11.12.20.14; author christos; state Exp; branches 1.23.4.1 1.23.8.1 1.23.14.1; next 1.22; 1.22 date 2005.05.16.21.17.11; author fvdl; state Exp; branches 1.22.2.1; next 1.21; 1.21 date 2005.05.16.16.02.20; author fvdl; state Exp; branches; next 1.20; 1.20 date 2005.02.26.23.10.19; author perry; state Exp; branches; next 1.19; 1.19 date 2004.09.20.18.41.07; author jdolecek; state Exp; branches 1.19.4.1 1.19.6.1; next 1.18; 1.18 date 2004.09.08.19.45.22; author jdolecek; state Exp; branches; next 1.17; 1.17 date 2004.08.01.14.16.32; author jdolecek; state Exp; branches; next 1.16; 1.16 date 2004.08.01.10.32.40; author jdolecek; state Exp; branches; next 1.15; 1.15 date 2003.08.10.20.16.20; author jdolecek; state Exp; branches; next 1.14; 1.14 date 2003.06.28.07.55.08; author he; state Exp; branches 1.14.2.1; next 1.13; 1.13 date 2003.06.23.21.25.56; author christos; state Exp; branches; next 1.12; 1.12 date 2003.01.18.08.02.47; author thorpej; state Exp; branches; next 1.11; 1.11 date 2002.05.12.15.04.27; author jdolecek; state Exp; branches 1.11.4.1; next 1.10; 1.10 date 2002.04.10.18.18.27; author christos; state Exp; branches; next 1.9; 1.9 date 2002.03.22.15.16.02; author christos; state Exp; branches; next 1.8; 1.8 date 2002.02.17.22.29.46; author bjh21; state Exp; branches 1.8.2.1; next 1.7; 1.7 date 2002.02.15.16.47.59; author christos; state Exp; branches; next 1.6; 1.6 date 2002.01.27.15.27.33; author bjh21; state Exp; branches 1.6.2.1; next 1.5; 1.5 date 2002.01.27.14.08.56; author bjh21; state Exp; branches; next 1.4; 1.4 date 2002.01.23.15.54.34; author bjh21; state Exp; branches; next 1.3; 1.3 date 2002.01.23.15.52.59; author bjh21; state Exp; branches; next 1.2; 1.2 date 2002.01.15.10.21.46; author bjh21; state Exp; branches; next 1.1; 1.1 date 2002.01.14.23.14.41; author bjh21; state Exp; branches; next ; 1.80.2.1 date 2025.08.02.05.56.23; author perseant; state Exp; branches; next ; commitid 23j6GFaDws3O875G; 1.69.2.1 date 2020.12.15.14.07.21; author thorpej; state Exp; branches; next 1.69.2.2; commitid SxffrujSvDkrsQzC; 1.69.2.2 date 2020.12.17.03.14.15; author thorpej; state Exp; branches; next ; commitid mwKnDZaUAvwDM2AC; 1.67.14.1 date 2020.04.13.08.04.14; author martin; state Exp; branches; next ; commitid X01YhRUPVUDaec4C; 1.65.2.1 date 2017.04.21.16.53.41; author bouyer; state Exp; branches; next ; 1.63.2.1 date 2016.07.26.03.24.20; author pgoyette; state Exp; branches; next 1.63.2.2; 1.63.2.2 date 2017.01.07.08.56.29; author pgoyette; state Exp; branches; next 1.63.2.3; 1.63.2.3 date 2017.03.20.06.57.24; author pgoyette; state Exp; branches; next ; 1.62.2.1 date 2015.04.06.15.18.06; author skrll; state Exp; branches; next 1.62.2.2; 1.62.2.2 date 2016.10.05.20.55.38; author skrll; state Exp; branches; next 1.62.2.3; 1.62.2.3 date 2017.02.05.13.40.25; author skrll; state Exp; branches; next ; 1.61.2.1 date 2017.04.17.05.19.09; author snj; state Exp; branches; next ; 1.54.2.1 date 2014.08.10.06.54.32; author tls; state Exp; branches; next ; 1.50.4.1 date 2014.05.18.17.45.32; author rmind; state Exp; branches; next ; 1.48.10.1 date 2012.11.20.03.01.54; author tls; state Exp; branches; next 1.48.10.2; 1.48.10.2 date 2013.06.23.06.20.15; author tls; state Exp; branches; next 1.48.10.3; 1.48.10.3 date 2014.08.20.00.03.31; author tls; state Exp; branches; next 1.48.10.4; 1.48.10.4 date 2017.12.03.11.36.54; author jdolecek; state Exp; branches; next ; commitid XcIYRZTAh1LmerhA; 1.47.2.1 date 2012.04.17.00.07.16; author yamt; state Exp; branches; next 1.47.2.2; 1.47.2.2 date 2012.10.30.17.20.41; author yamt; state Exp; branches; next 1.47.2.3; 1.47.2.3 date 2014.05.22.11.40.16; author yamt; state Exp; branches; next ; 1.44.2.1 date 2011.06.06.09.07.23; author jruoho; state Exp; branches; next ; 1.43.2.1 date 2010.08.17.06.45.43; author uebayasi; state Exp; branches; next ; 1.43.4.1 date 2011.03.05.20.52.43; author rmind; state Exp; branches; next 1.43.4.2; 1.43.4.2 date 2011.04.21.01.41.38; author rmind; state Exp; branches; next 1.43.4.3; 1.43.4.3 date 2011.05.31.03.04.28; author rmind; state Exp; branches; next ; 1.41.2.1 date 2009.07.23.23.31.40; author jym; state Exp; branches; next ; 1.35.2.1 date 2009.05.04.08.12.20; author yamt; state Exp; branches; next 1.35.2.2; 1.35.2.2 date 2009.06.20.07.20.15; author yamt; state Exp; branches; next 1.35.2.3; 1.35.2.3 date 2010.03.11.15.03.15; author yamt; state Exp; branches; next 1.35.2.4; 1.35.2.4 date 2010.08.11.22.53.05; author yamt; state Exp; branches; next ; 1.35.4.1 date 2008.05.10.23.48.52; author wrstuden; state Exp; branches; next 1.35.4.2; 1.35.4.2 date 2008.05.14.01.35.03; author wrstuden; state Exp; branches; next ; 1.35.8.1 date 2008.12.13.01.13.53; author haad; state Exp; branches; next ; 1.35.10.1 date 2009.01.19.13.17.26; author skrll; state Exp; branches; next ; 1.35.12.1 date 2008.11.20.03.03.05; author snj; state Exp; branches; next ; 1.34.2.1 date 2008.05.18.12.33.15; author yamt; state Exp; branches; next ; 1.33.6.1 date 2008.06.02.13.23.00; author mjf; state Exp; branches; next 1.33.6.2; 1.33.6.2 date 2009.01.17.13.28.43; author mjf; state Exp; branches; next ; 1.29.2.1 date 2007.12.26.19.49.08; author ad; state Exp; branches; next ; 1.29.6.1 date 2008.01.02.21.52.19; author bouyer; state Exp; branches; next 1.29.6.2; 1.29.6.2 date 2008.01.19.12.14.54; author bouyer; state Exp; branches; next ; 1.28.14.1 date 2007.11.21.21.53.48; author joerg; state Exp; branches; next ; 1.28.16.1 date 2008.01.09.01.50.59; author matt; state Exp; branches; next 1.28.16.2; 1.28.16.2 date 2008.03.23.02.04.32; author matt; state Exp; branches; next ; 1.28.20.1 date 2007.11.18.19.35.02; author bouyer; state Exp; branches; next ; 1.28.22.1 date 2007.11.19.00.47.19; author mjf; state Exp; branches; next 1.28.22.2; 1.28.22.2 date 2007.12.27.00.43.56; author mjf; state Exp; branches; next 1.28.22.3; 1.28.22.3 date 2008.02.18.21.05.23; author mjf; state Exp; branches; next ; 1.27.2.1 date 2007.03.12.05.52.15; author rmind; state Exp; branches; next ; 1.26.2.1 date 2007.01.30.13.51.32; author ad; state Exp; branches; next ; 1.23.4.1 date 2006.09.09.02.45.27; author rpaulo; state Exp; branches; next ; 1.23.8.1 date 2006.06.26.12.46.01; author yamt; state Exp; branches; next ; 1.23.14.1 date 2006.06.19.03.45.51; author chap; state Exp; branches; next ; 1.22.2.1 date 2006.06.21.14.59.01; author yamt; state Exp; branches; next 1.22.2.2; 1.22.2.2 date 2007.02.26.09.09.14; author yamt; state Exp; branches; next 1.22.2.3; 1.22.2.3 date 2007.09.03.14.32.14; author yamt; state Exp; branches; next 1.22.2.4; 1.22.2.4 date 2007.12.07.17.27.54; author yamt; state Exp; branches; next 1.22.2.5; 1.22.2.5 date 2008.01.21.09.41.12; author yamt; state Exp; branches; next ; 1.19.4.1 date 2005.04.29.11.28.33; author kent; state Exp; branches; next ; 1.19.6.1 date 2005.03.19.08.33.34; author yamt; state Exp; branches; next ; 1.14.2.1 date 2004.08.03.10.43.53; author skrll; state Exp; branches; next 1.14.2.2; 1.14.2.2 date 2004.09.18.14.43.29; author skrll; state Exp; branches; next 1.14.2.3; 1.14.2.3 date 2004.09.21.13.25.18; author skrll; state Exp; branches; next 1.14.2.4; 1.14.2.4 date 2004.09.24.10.53.18; author skrll; state Exp; branches; next 1.14.2.5; 1.14.2.5 date 2005.03.04.16.39.51; author skrll; state Exp; branches; next 1.14.2.6; 1.14.2.6 date 2005.11.10.14.00.59; author skrll; state Exp; branches; next ; 1.11.4.1 date 2003.10.22.04.03.00; author jmc; state Exp; branches; next 1.11.4.2; 1.11.4.2 date 2003.11.20.04.21.35; author jmc; state Exp; branches; next 1.11.4.3; 1.11.4.3 date 2004.05.11.14.30.57; author tron; state Exp; branches; next 1.11.4.4; 1.11.4.4 date 2004.06.14.02.36.03; author jmc; state Exp; branches; next ; 1.8.2.1 date 2002.02.17.22.29.46; author nathanw; state dead; branches; next 1.8.2.2; 1.8.2.2 date 2002.02.28.04.12.49; author nathanw; state Exp; branches; next 1.8.2.3; 1.8.2.3 date 2002.04.01.07.44.09; author nathanw; state Exp; branches; next 1.8.2.4; 1.8.2.4 date 2002.04.17.00.04.57; author nathanw; state Exp; branches; next 1.8.2.5; 1.8.2.5 date 2002.05.29.21.32.31; author nathanw; state Exp; branches; next 1.8.2.6; 1.8.2.6 date 2002.06.20.03.42.58; author nathanw; state Exp; branches; next ; 1.6.2.1 date 2002.01.27.15.27.33; author jdolecek; state dead; branches; next 1.6.2.2; 1.6.2.2 date 2002.02.11.20.09.32; author jdolecek; state Exp; branches; next 1.6.2.3; 1.6.2.3 date 2002.03.16.16.00.31; author jdolecek; state Exp; branches; next 1.6.2.4; 1.6.2.4 date 2002.06.23.17.44.06; author jdolecek; state Exp; branches; next ; desc @@ 1.87 log @Propagate writev changes that started in amd64 fixing behaviour when iovcnt=0 @ text @ $NetBSD: syscalls.master,v 1.86 2025/11/10 15:41:38 christos Exp $ ; Derived from sys/compat/linux/arch/*/syscalls.master ; and from Linux 2.4.12 arch/arm/kernel/calls.S ; NetBSD/arm COMPAT_LINUX system call name/number "master" file. ; (See syscalls.conf to see what it is processed into.) ; ; Fields: number type [type-dependent ...] ; number system call number, must be in order ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of ; the compatibility options defined in syscalls.conf. ; ; types: ; STD always included ; OBSOL obsolete, not included in system ; UNIMPL unimplemented, not included in system ; NODEF included, but don't define the syscall number ; NOARGS included, but don't define the syscall args structure ; INDIR included, but don't define the syscall args structure ; and allow it to be "really" varargs. ; ; The compat options are defined in the syscalls.conf file, and the ; compat option name is prefixed to the syscall name. Other than ; that, they're like NODEF (for 'compat' options), or STD (for ; 'libcompat' options). ; ; The type-dependent arguments are as follows: ; For STD, NODEF, NOARGS, and compat syscalls: ; { pseudo-proto } [alias] ; For other syscalls: ; [comment] ; ; #ifdef's, etc. may be included, and are copied to the output files. ; #include's are copied to the syscall names and switch definition files only. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include %% ; XXX We have to explicitly declare linux_sys_nosys. 0 NOARGS { int|linux_sys||nosys(void); } 1 STD { int|linux_sys||exit(int rval); } 2 NOARGS { int|sys||fork(void); } 3 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 4 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ size_t nbyte); } 5 STD { int|linux_sys||open(const char *path, int flags, \ linux_umode_t mode); } 6 NOARGS { int|sys||close(int fd); } 7 STD { int|linux_sys||waitpid(int pid, int *status, \ int options);} 8 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } 9 NOARGS { int|sys||link(const char *path, const char *link); } 10 STD { int|linux_sys||unlink(const char *path); } 11 NOARGS { int|sys||execve(const char *path, char **argp, \ char **envp); } 12 NOARGS { int|sys||chdir(const char *path); } 13 STD { int|linux_sys||time(linux_time_t *t); } 14 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ unsigned dev); } 15 NOARGS { int|sys||chmod(const char *path, int mode); } 16 STD { int|linux_sys||lchown16(const char *path, \ linux_uid16_t uid, linux_gid16_t gid); } 17 OBSOL break 18 OBSOL ostat 19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ int whence); } 20 NOARGS { pid_t|sys||getpid(void); } 21 UNIMPL mount 22 OBSOL umount 23 NOARGS { int|sys||setuid(uid_t uid); } 24 NOARGS { uid_t|sys||getuid(void); } 25 STD { int|linux_sys||stime(linux_time_t *t); } 26 STD { int|linux_sys||ptrace(int request, int pid, \ int addr, int data); } 27 STD { int|linux_sys||alarm(unsigned int secs); } 28 OBSOL ofstat 29 STD { int|linux_sys||pause(void); } 30 STD { int|linux_sys||utime(const char *path, \ struct linux_utimbuf *times); } 31 OBSOL stty 32 OBSOL gtty 33 NOARGS { int|sys||access(const char *path, int flags); } 34 STD { int|linux_sys||nice(int incr); } 35 OBSOL ftime 36 NOARGS { int|sys||sync(void); } 37 STD { int|linux_sys||kill(int pid, int signum); } 38 NOARGS { int|sys||__posix_rename(const char *from, \ const char *to); } 39 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 40 NOARGS { int|sys||rmdir(const char *path); } 41 NOARGS { int|sys||dup(int fd); } 42 STD { int|linux_sys||pipe(int *pfds); } 43 STD { int|linux_sys||times(struct times *tms); } 44 OBSOL prof 45 STD { int|linux_sys||brk(char *nsize); } 46 NOARGS { int|sys||setgid(gid_t gid); } 47 NOARGS { gid_t|sys||getgid(void); } 48 STD { int|linux_sys||signal(int signum, \ linux_handler_t handler); } 49 NOARGS { uid_t|sys||geteuid(void); } 50 NOARGS { gid_t|sys||getegid(void); } 51 NOARGS { int|sys||acct(char *path); } 52 UNIMPL umount 53 OBSOL lock 54 STD { int|linux_sys||ioctl(int fd, u_long com, \ void *data); } 55 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 56 OBSOL mpx 57 NOARGS { int|sys||setpgid(int pid, int pgid); } 58 OBSOL ulimit 59 STD { int|linux_sys||oldolduname( \ struct linux_oldold_utsname *up); } 60 NOARGS { int|sys||umask(int newmask); } 61 NOARGS { int|sys||chroot(char *path); } 62 UNIMPL ustat 63 NOARGS { int|sys||dup2(int from, int to); } 64 NOARGS { pid_t|sys||getppid(void); } 65 NOARGS { int|sys||getpgrp(void); } 66 NOARGS { int|sys||setsid(void); } 67 STD { int|linux_sys||sigaction(int signum, \ const struct linux_old_sigaction *nsa, \ struct linux_old_sigaction *osa); } 68 STD { int|linux_sys||siggetmask(void); } 69 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 70 STD { int|linux_sys||setreuid16(linux_uid16_t ruid, \ linux_uid16_t euid); } 71 STD { int|linux_sys||setregid16(linux_gid16_t rgid, \ linux_gid16_t egid); } 72 STD { int|linux_sys||sigsuspend(void *restart, \ int oldmask, int mask); } 73 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 74 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ u_int len);} 75 STD { int|linux_sys||setrlimit(u_int which, \ struct orlimit *rlp); } 76 STD { int|linux_sys||getrlimit(u_int which, \ struct orlimit *rlp); } 77 NOARGS { int|compat_50_sys||getrusage(int who, struct rusage50 *rusage); } 78 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ struct timezone *tzp); } 79 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ struct timezone *tzp); } 80 STD { int|linux_sys||getgroups16(int gidsetsize, \ linux_gid16_t *gidset); } 81 STD { int|linux_sys||setgroups16(int gidsetsize, \ linux_gid16_t *gidset); } 82 STD { int|linux_sys||oldselect(struct linux_oldselect *lsp); } 83 NOARGS { int|sys||symlink(const char *path, const char *link); } 84 NOARGS { int|compat_43_sys||lstat(const char *path, \ struct stat43 *ub); } oolstat 85 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ int count); } #ifdef EXEC_AOUT 86 STD { int|linux_sys||uselib(const char *path); } #else 86 EXCL uselib #endif 87 STD { int|linux_sys||swapon(char *name); } 88 STD { int|linux_sys||reboot(int magic1, int magic2, \ int cmd, void *arg); } 89 STD { int|linux_sys||readdir(int fd, void *dent, \ unsigned int count); } 90 STD { int|linux_sys||old_mmap(struct linux_oldmmap *lmp); } 91 NOARGS { int|sys||munmap(void *addr, size_t len); } 92 NOARGS { int|compat_43_sys||truncate(const char *path, \ long length); } 93 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 94 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 95 STD { int|linux_sys||fchown16(int fd, linux_uid16_t uid, \ linux_gid16_t gid); } 96 STD { int|linux_sys||getpriority(int which, int who); } 97 NOARGS { int|sys||setpriority(int which, int who, int prio); } 98 NOARGS { int|sys||profil(void *samples, u_int size, \ u_int offset, u_int scale); } 99 STD { int|linux_sys||statfs(const char *path, \ struct linux_statfs *sp); } 100 STD { int|linux_sys||fstatfs(int fd, \ struct linux_statfs *sp); } 101 UNIMPL 102 STD { int|linux_sys||socketcall(int what, void *args); } 103 UNIMPL syslog 104 NOARGS { int|compat_50_sys||setitimer(int which, \ struct itimerval50 *itv, \ struct itimerval50 *oitv); } 105 NOARGS { int|compat_50_sys||getitimer(int which, \ struct itimerval50 *itv); } 106 STD { int|linux_sys||stat(const char *path, \ struct linux_stat *sp); } 107 STD { int|linux_sys||lstat(const char *path, \ struct linux_stat *sp); } 108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 109 STD { int|linux_sys||olduname(struct linux_oldutsname *up); } 110 UNIMPL 111 UNIMPL vhangup 112 UNIMPL idle 113 UNIMPL syscall 114 STD { int|linux_sys||wait4(int pid, int *status, \ int options, struct rusage50 *rusage); } 115 STD { int|linux_sys||swapoff(const char *path); } 116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 117 STD { int|linux_sys||ipc(int what, int a1, int a2, int a3, \ void *ptr); } 118 NOARGS { int|sys||fsync(int fd); } 119 STD { int|linux_sys||sigreturn(struct linux_sigcontext *scp); } 120 STD { int|linux_sys||clone(int flags, void *stack, \ void *parent_tidptr, void *tls, void *child_tidptr); } 121 STD { int|linux_sys||setdomainname(char *domainname, \ int len); } 122 STD { int|linux_sys||uname(struct linux_utsname *up); } 123 UNIMPL modify_ldt 124 UNIMPL adjtimex 125 STD { int|linux_sys||mprotect(const void *start, \ unsigned long len, int prot); } 126 STD { int|linux_sys||sigprocmask(int how, \ const linux_old_sigset_t *set, \ linux_old_sigset_t *oset); } 127 UNIMPL create_module 128 UNIMPL init_module 129 UNIMPL delete_module 130 UNIMPL get_kernel_syms 131 UNIMPL quotactl 132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 133 NOARGS { int|sys||fchdir(int fd); } 134 UNIMPL bdflush 135 UNIMPL sysfs 136 STD { int|linux_sys||personality(unsigned long per); } 137 UNIMPL afs_syscall 138 STD { int|linux_sys||setfsuid(uid_t uid); } 139 STD { int|linux_sys||setfsgid(gid_t gid); } 140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ u_int32_t olow, void *res, int whence); } 141 STD { int|linux_sys||getdents(int fd, \ struct linux_dirent *dent, unsigned int count); } 142 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct timeval50 *timeout); } 143 NOARGS { int|sys||flock(int fd, int how); } 144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 145 NOARGS { ssize_t|sys||readv(int fd, \ const struct iovec *iovp, int iovcnt); } 146 STD { ssize_t|linux_sys||writev(int fd, \ const struct iovec *iovp, int iovcnt); } 147 NOARGS { pid_t|sys||getsid(pid_t pid); } 148 STD { int|linux_sys||fdatasync(int fd); } 149 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 150 NOARGS { int|sys||mlock(void *addr, size_t len); } 151 NOARGS { int|sys||munlock(void *addr, size_t len); } 152 NOARGS { int|sys||mlockall(int flags); } 153 NOARGS { int|sys||munlockall(void); } 154 STD { int|linux_sys||sched_setparam(pid_t pid, \ const struct linux_sched_param *sp); } 155 STD { int|linux_sys||sched_getparam(pid_t pid, \ struct linux_sched_param *sp); } 156 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ int policy, const struct linux_sched_param *sp); } 157 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 158 STD { int|linux_sys||sched_yield(void); } 159 STD { int|linux_sys||sched_get_priority_max(int policy); } 160 STD { int|linux_sys||sched_get_priority_min(int policy); } 161 UNIMPL sched_rr_get_interval 162 STD { int|linux_sys||nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 163 STD { void *|linux_sys||mremap(void *old_address, \ size_t old_size, size_t new_size, u_long flags); } 164 STD { int|linux_sys||setresuid16(linux_uid16_t ruid, \ linux_uid16_t euid, linux_uid16_t suid); } 165 STD { int|linux_sys||getresuid16(linux_uid16_t *ruid, \ linux_uid16_t *euid, linux_uid16_t *suid); } 166 UNIMPL 167 UNIMPL query_module 168 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ int timeout); } 169 UNIMPL nfsservctl 170 STD { int|linux_sys||setresgid16(linux_gid16_t rgid, \ linux_gid16_t egid, linux_gid16_t sgid); } 171 STD { int|linux_sys||getresgid16(linux_gid16_t *rgid, \ linux_gid16_t *egid, linux_gid16_t *sgid); } 172 INDIR { int|linux_sys||__prctl(int code, \ ... void * args[LINUX_SYS_MAXSYSARGS]); } 173 UNIMPL rt_sigreturn ;173 STD { int|linux_sys||rt_sigreturn( \ ; struct linux_rt_sigframe *sfp); } 174 STD { int|linux_sys||rt_sigaction(int signum, \ const struct linux_sigaction *nsa, \ struct linux_sigaction *osa, \ size_t sigsetsize); } 175 STD { int|linux_sys||rt_sigprocmask(int how, \ const linux_sigset_t *set, \ linux_sigset_t *oset, \ size_t sigsetsize); } 176 STD { int|linux_sys||rt_sigpending( \ linux_sigset_t *set, \ size_t sigsetsize); } 177 STD { int|linux_sys||rt_sigtimedwait( \ const linux_sigset_t *set, \ linux_siginfo_t *info, \ const struct linux_timespec *timeout); } 178 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ linux_siginfo_t *uinfo); } 179 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ size_t sigsetsize); } 180 STD { int|linux_sys||pread(int fd, char *buf, \ size_t nbyte, off_t offset); } 181 STD { int|linux_sys||pwrite(int fd, char *buf, \ size_t nbyte, off_t offset); } 182 STD { int|linux_sys||chown16(const char *path, \ linux_uid16_t uid, linux_gid16_t gid); } 183 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 184 UNIMPL capget 185 UNIMPL capset 186 STD { int|linux_sys||sigaltstack( \ const struct linux_sigaltstack *ss, \ struct linux_sigaltstack *oss); } 187 UNIMPL sendfile 188 UNIMPL getpmsg 189 UNIMPL putpmsg 190 NOARGS vfork { int|sys|14|vfork(void); } 191 STD { int|linux_sys||ugetrlimit(int which, \ struct rlimit *rlp); } #define linux_sys_mmap2_args linux_sys_mmap_args 192 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ size_t len, int prot, int flags, int fd, \ linux_off_t offset); } 193 STD { int|linux_sys||truncate64(const char *path, \ off_t length); } 194 STD { int|linux_sys||ftruncate64(unsigned int fd, \ off_t length); } 195 STD { int|linux_sys||stat64(const char *path, \ struct linux_stat64 *sp); } 196 STD { int|linux_sys||lstat64(const char *path, \ struct linux_stat64 *sp); } 197 STD { int|linux_sys||fstat64(int fd, \ struct linux_stat64 *sp); } 198 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ gid_t gid); } 199 NOARGS getuid32 { uid_t|sys||getuid(void); } 200 NOARGS getgid32 { gid_t|sys||getgid(void); } 201 NOARGS geteuid32 { uid_t|sys||geteuid(void); } 202 NOARGS getegid32 { gid_t|sys||getegid(void); } 203 NOARGS setreuid32 { int|sys||setreuid(uid_t ruid, \ uid_t euid); } 204 NOARGS setregid32 { int|sys||setregid(gid_t rgid, \ gid_t egid); } 205 NOARGS getgroups32 { int|sys||getgroups(int gidsetsize, \ gid_t *gidset); } 206 NOARGS setgroups32 { int|sys||setgroups(int gidsetsize, \ gid_t *gidset); } 207 NOARGS fchown32 { int|sys||__posix_fchown(int fd, uid_t uid, \ gid_t gid); } 208 STD setresuid32 { int|linux_sys||setresuid(uid_t ruid, \ uid_t euid, uid_t suid); } 209 STD getresuid32 { int|linux_sys||getresuid(uid_t *ruid, \ uid_t *euid, uid_t *suid); } 210 STD setresgid32 { int|linux_sys||setresgid(gid_t rgid, \ gid_t egid, gid_t sgid); } 211 STD getresgid32 { int|linux_sys||getresgid(gid_t *rgid, \ gid_t *egid, gid_t *sgid); } 212 NOARGS chown32 { int|sys||__posix_chown(const char *path, \ uid_t uid, gid_t gid); } 213 NOARGS setuid32 { int|sys||setuid(uid_t uid); } 214 NOARGS setgid32 { int|sys||setgid(gid_t gid); } 215 NOARGS setfsuid32 { int|linux_sys||setfsuid(uid_t uid); } 216 NOARGS setfsgid32 { int|linux_sys||setfsgid(gid_t gid); } 217 STD { int|linux_sys||getdents64(int fd, \ struct linux_dirent64 *dent, unsigned int count); } 218 UNIMPL pivot_root 219 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 220 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 221 STD { int|linux_sys||fcntl64(int fd, int cmd, void *arg); } 222 UNIMPL /* for tux */ 223 UNIMPL /* unused */ 224 NOARGS { pid_t|linux_sys||gettid(void); } 225 STD { ssize_t|linux_sys||readahead(int fd, off_t offset, \ size_t count); } 226 STD { int|linux_sys||setxattr(char *path, char *name, \ void *value, size_t size, int flags); } 227 STD { int|linux_sys||lsetxattr(char *path, char *name, \ void *value, size_t size, int flags); } 228 STD { int|linux_sys||fsetxattr(int fd, char *name, \ void *value, size_t size, int flags); } 229 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ void *value, size_t size); } 230 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ void *value, size_t size); } 231 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ void *value, size_t size); } 232 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ size_t size); } 233 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ size_t size); } 234 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ size_t size); } 235 STD { int|linux_sys||removexattr(char *path, char *name); } 236 STD { int|linux_sys||lremovexattr(char *path, char *name); } 237 STD { int|linux_sys||fremovexattr(int fd, char *name); } 238 STD { int|linux_sys||tkill(int tid, int sig); } 239 UNIMPL sendfile64 240 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ const struct linux_timespec *timeout, int *uaddr2, \ int val3); } 241 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 242 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 243 UNIMPL io_setup 244 UNIMPL io_destroy 245 UNIMPL io_getevents 246 UNIMPL io_submit 247 UNIMPL io_cancel 248 STD { int|linux_sys||exit_group(int error_code); } 249 UNIMPL lookup_dcookie 250 STD { int|linux_sys||epoll_create(int size); } 251 STD { int|linux_sys||epoll_ctl(int epfd, int op, int fd, \ struct linux_epoll_event *event); } 252 STD { int|linux_sys||epoll_wait(int epfd, \ struct linux_epoll_event *events, int maxevents, \ int timeout); } 253 UNIMPL remap_file_pages 254 UNIMPL set_thread_area 255 UNIMPL get_thread_area 256 STD { int|linux_sys||set_tid_address(int *tid); } 257 STD { int|linux_sys||timer_create(clockid_t clockid, \ struct linux_sigevent *evp, timer_t *timerid); } 258 STD { int|linux_sys||timer_settime(timer_t timerid, \ int flags, const struct linux_itimerspec *tim, \ struct linux_itimerspec *otim); } 259 STD { int|linux_sys||timer_gettime(timer_t timerid, \ struct linux_itimerspec *tim); } 260 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 261 NOARGS { int|sys||timer_delete(timer_t timerid); } 262 STD { int|linux_sys||clock_settime(clockid_t which, \ struct linux_timespec *tp); } 263 STD { int|linux_sys||clock_gettime(clockid_t which, \ struct linux_timespec *tp); } 264 STD { int|linux_sys||clock_getres(clockid_t which, \ struct linux_timespec *tp); } 265 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ int flags, struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 266 STD { int|linux_sys||statfs64(const char *path, \ size_t sz, struct linux_statfs64 *sp); } 267 STD { int|linux_sys||fstatfs64(int fd, \ size_t sz, struct linux_statfs64 *sp); } 268 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 269 NOARGS { int|compat_50_sys||utimes(const char *path, \ const struct timeval50 *tptr); } 270 STD { int|linux_sys||fadvise64_64(int fd, off_t offset, \ off_t len, int advice); } 271 UNIMPL pciconfig_iobase 272 UNIMPL pciconfig_read 273 UNIMPL pciconfig_write 274 STD { linux_mqd_t|linux_sys||mq_open(const char *name, \ int oflag, linux_umode_t mode, \ struct linux_mq_attr *attr); } 275 STD { int|linux_sys||mq_unlink(const char *name); } 276 STD { int|linux_sys||mq_timedsend(linux_mqd_t mqdes, \ const char *msg_ptr, size_t msg_len, \ unsigned int msg_prio, \ const struct linux_timespec *abs_timeout); } 277 STD { ssize_t|linux_sys||mq_timedreceive(linux_mqd_t mqdes, \ char *msg_ptr, size_t msg_len, \ unsigned int *msg_prio, \ const struct linux_timespec *abs_timeout); } 278 STD { int|linux_sys||mq_notify(linux_mqd_t mqdes, \ const struct linux_sigevent *sevp); } 279 STD { int|linux_sys||mq_getsetattr(linux_mqd_t mqdes, \ const struct linux_mq_attr *newattr, \ struct linux_mq_attr *oldattr); } 280 STD { int|linux_sys||waitid(int idtype, id_t id, \ linux_siginfo_t *infop, int options, \ struct rusage50 *rusage); } 281 UNIMPL socket 282 UNIMPL bind 283 UNIMPL connect 284 UNIMPL listen 285 UNIMPL accept 286 UNIMPL getsockname 287 UNIMPL getpeername 288 UNIMPL socketpair 289 UNIMPL send 290 UNIMPL sendto 291 UNIMPL recv 292 UNIMPL recvfrom 293 UNIMPL shutdown 294 UNIMPL setsockopt 295 UNIMPL getsockopt 296 UNIMPL sendmsg 297 UNIMPL recvmsg 298 UNIMPL semop 299 UNIMPL semget 300 UNIMPL semctl 301 UNIMPL msgsnd 302 UNIMPL msgrcv 303 UNIMPL msgget 304 UNIMPL msgctl 305 UNIMPL shmat 306 UNIMPL shmdt 307 UNIMPL shmget 308 UNIMPL shmctl 309 UNIMPL add_key 310 UNIMPL request_key 311 UNIMPL keyctl 312 STD { int|linux_sys||semtimedop(int semid, \ struct sembuf *sops, size_t nsops, \ struct linux_timespec *timeout); } 313 UNIMPL vserver 314 UNIMPL ioptio_set 315 UNIMPL ioptio_get 316 STD { int|linux_sys||inotify_init(void); } 317 STD { int|linux_sys||inotify_add_watch(int fd, \ const char *pathname, uint32_t mask); } 318 STD { int|linux_sys||inotify_rm_watch(int fd, int wd); } 319 UNIMPL mbind 320 UNIMPL get_mempolicy 321 UNIMPL set_mempolicy 322 STD { int|linux_sys||openat(int fd, const char *path, \ int flags, ... linux_umode_t mode); } 323 NOARGS { int|sys||mkdirat(int fd, const char *path, \ linux_umode_t mode); } 324 STD { int|linux_sys||mknodat(int fd, const char *path, \ linux_umode_t mode, unsigned dev); } 325 STD { int|linux_sys||fchownat(int fd, const char *path, \ uid_t owner, gid_t group, int flag); } 326 UNIMPL futimesat 327 STD { int|linux_sys||fstatat64(int fd, const char *path, \ struct linux_stat64 *sp, int flag); } 328 STD { int|linux_sys||unlinkat(int fd, const char *path, \ int flag); } 329 NOARGS { int|sys||renameat(int fromfd, const char *from, \ int tofd, const char *to); } 330 STD { int|linux_sys||linkat(int fd1, const char *name1, \ int fd2, const char *name2, int flags); } 331 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ const char *path2); } 332 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ char *buf, size_t bufsize); } 333 STD { int|linux_sys||fchmodat(int fd, const char *path, \ linux_umode_t mode); } 334 STD { int|linux_sys||faccessat(int fd, const char *path, \ int amode); } 335 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct linux_timespec *timeout, \ linux_sized_sigset_t *ss); } 336 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ struct linux_timespec *timeout, \ linux_sigset_t *sigset); } 337 UNIMPL unshare ; ; The NetBSD native robust list calls have different ; argument names / types, but they are ABI-compatible ; with Linux. ; 338 NOARGS { int|sys||__futex_set_robust_list(void *head, \ size_t len); } 339 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ void **headp, size_t *lenp); } 340 UNIMPL splice 341 STD { int|linux_sys||sync_file_range(int fd, \ off_t offset, off_t nbytes, unsigned int flags); } 342 UNIMPL tee 343 UNIMPL vmsplice 344 UNIMPL move_pages 345 STD { int|linux_sys||getcpu(unsigned int *cpu, \ unsigned int *node, \ struct linux_getcpu_cache *tcache); } 346 STD { int|linux_sys||epoll_pwait(int epfd, \ struct linux_epoll_event *events, int maxevents, \ int timeout, const linux_sigset_t *sigmask); } 347 UNIMPL kexec_load 348 STD { int|linux_sys||utimensat(int fd, const char *path, \ struct linux_timespec *times, int flag); } 349 UNIMPL signalfd 350 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ int flags); } 351 STD { int|linux_sys||eventfd(unsigned int initval); } 352 STD { int|linux_sys||fallocate(int fd, int mode, \ off_t offset, off_t len); } 353 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ const struct linux_itimerspec *tim, \ struct linux_itimerspec *otim); } 354 STD { int|linux_sys||timerfd_gettime(int fd, \ struct linux_itimerspec *tim); } 355 UNIMPL signalfd4 356 STD { int|linux_sys||eventfd2(unsigned int initval, \ int flags); } 357 STD { int|linux_sys||epoll_create1(int flags); } 358 STD { int|linux_sys||dup3(int from, int to, int flags); } 359 STD { int|linux_sys||pipe2(int *pfds, int flags); } 360 STD { int|linux_sys||inotify_init1(int flags); } 361 STD { int|linux_sys||preadv(int fd, \ const struct iovec *iovp, int iovcnt, \ unsigned long off_lo, unsigned long off_hi); } 362 STD { int|linux_sys||pwritev(int fd, \ const struct iovcnt *iovp, int iovcnt, \ unsigned long off_lo, unsigned long off_hi); } 363 UNIMPL rt_tgsigqueueinfo 364 UNIMPL perf_counter_open 365 STD { int|linux_sys||recvmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags, struct timespec *timeout); } 366 STD { int|linux_sys||accept4(int s, \ struct osockaddr *name, \ int *anamelen, int flags); } 367 UNIMPL fanotify_init 368 UNIMPL fanotify_mark 369 STD { int|linux_sys||prlimit64(pid_t pid, int which, \ struct rlimit *new_rlp, struct rlimit *old_rlp); } 370 UNIMPL name_to_handle_at 371 UNIMPL open_by_handle_at 372 UNIMPL clock_adjtime 373 STD { int|linux_sys||syncfs(int fd); } 374 STD { int|linux_sys||sendmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags); } 375 UNIMPL setns 376 UNIMPL process_vm_readv 377 UNIMPL process_vm_writev 378 UNIMPL kcmp 379 UNIMPL finit_module 380 UNIMPL sched_setattr 381 UNIMPL sched_getattr 382 STD { int|linux_sys||renameat2(int fromfd, \ const char *from, int tofd, const char *to, \ unsigned int flags); } 383 UNIMPL seccomp ; XXX FIX-me? ; 384 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \ unsigned int flags); } ; 385 UNIMPL memfd_create ; ARMLinux actually has two ranges of syscalls. Normal syscalls use ; SWI numbers starting at 0x900000 (__NR_SYSCALL_BASE). Special ; ARM-specific syscalls use SWI numbers starting at 0x9f0000 ; (__ARM_NR_BASE). linux_syscall() (in arch/arm/arm/linux_syscall.c) ; remaps these down to 0x900180 so that we can use one linux_sysent ; array for the whole lot. 384 UNIMPL /* base */ 385 STD { int|linux_sys||breakpoint(void); } 386 STD { int|linux_sys||cacheflush(uintptr_t from, \ intptr_t to, int flags); } 387 UNIMPL usr26 388 UNIMPL usr32 389 STD { int|linux_sys||set_tls(void *tls); } 390 UNIMPL 391 STD { ssize_t|linux_sys||copy_file_range(int fd_in, \ off_t * off_in, int fd_out, off_t * off_out, \ size_t len, unsigned int flags); } 392 UNIMPL 393 UNIMPL 394 UNIMPL 395 UNIMPL 396 UNIMPL 397 STD { int|linux_sys||statx(int fd, const char *path, \ int flag, unsigned int mask, \ struct linux_statx *sp); } 398 UNIMPL 399 UNIMPL 400 UNIMPL 401 UNIMPL 402 UNIMPL 403 UNIMPL 404 UNIMPL 405 UNIMPL 406 UNIMPL 407 UNIMPL 408 UNIMPL 409 UNIMPL 410 UNIMPL 411 UNIMPL 412 UNIMPL 413 UNIMPL 414 UNIMPL 415 UNIMPL 416 UNIMPL 417 UNIMPL 418 UNIMPL 419 UNIMPL 420 UNIMPL 421 UNIMPL 422 UNIMPL 423 UNIMPL 424 UNIMPL 425 UNIMPL 426 UNIMPL 427 UNIMPL 428 UNIMPL 429 UNIMPL 430 UNIMPL 431 UNIMPL 432 UNIMPL 433 UNIMPL 434 UNIMPL 435 STD { int|linux_sys||clone3( \ struct linux_user_clone3_args *cl_args, \ size_t size); } 436 STD { int|linux_sys||close_range(unsigned int first, \ unsigned int last, unsigned int flags); } 437 UNIMPL 438 UNIMPL 439 STD { int|linux_sys||faccessat2(int fd, const char *path, \ int amode, int flags); } 440 UNIMPL 441 STD { int|linux_sys||epoll_pwait2(int epfd, \ struct linux_epoll_event *events, int maxevents, \ const struct linux_timespec *timeout, \ const linux_sigset_t *sigmask); } @ 1.86 log @s/SYS_MAXSYSARGS/LINUX_SYS_MAXSYSARGS/ @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.85 2025/11/10 15:34:03 christos Exp $ d260 1 a260 1 146 NOARGS { ssize_t|sys||writev(int fd, \ @ 1.85 log @Add prctl(2) lwp_{g,s}etname for compat linux (Kevin Bloom) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.84 2025/10/26 16:24:59 christos Exp $ d299 1 a299 1 ... void * args[SYS_MAXSYSARGS]); } @ 1.84 log @remove unimpl @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.83 2025/10/26 16:23:59 christos Exp $ d298 2 a299 1 172 UNIMPL prctl @ 1.83 log @one more @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.82 2024/09/28 19:35:55 christos Exp $ a521 1 312 UNIMPL semtimedop @ 1.82 log @Linux GSoC-2024: renameat2, clone3, sync_file_range, syncfs (Shivraj Jamgade) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.81 2024/07/01 01:35:52 christos Exp $ d523 3 @ 1.81 log @Add linux POSIX message queue support (Ricardo Branco) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.80 2024/06/29 13:46:09 christos Exp $ d576 2 a577 1 341 UNIMPL sync_file_range2 d629 1 a629 1 373 UNIMPL syncfs d640 3 a642 1 382 UNIMPL renameat2 d664 3 a666 1 391 UNIMPL d712 3 a714 1 435 UNIMPL @ 1.80 log @From gsoc 2024: Implement faccessat2 and getcpu (Shivraz) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp $ d51 1 d471 17 a487 6 274 UNIMPL mq_open 275 UNIMPL mq_unlink 276 UNIMPL mq_timedsend 277 UNIMPL mq_timedreceive 278 UNIMPL mq_notify 279 UNIMPL mq_getsetattr @ 1.80.2.1 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.82 2024/09/28 19:35:55 christos Exp $ a50 1 #include d470 6 a475 17 274 STD { linux_mqd_t|linux_sys||mq_open(const char *name, \ int oflag, linux_umode_t mode, \ struct linux_mq_attr *attr); } 275 STD { int|linux_sys||mq_unlink(const char *name); } 276 STD { int|linux_sys||mq_timedsend(linux_mqd_t mqdes, \ const char *msg_ptr, size_t msg_len, \ unsigned int msg_prio, \ const struct linux_timespec *abs_timeout); } 277 STD { ssize_t|linux_sys||mq_timedreceive(linux_mqd_t mqdes, \ char *msg_ptr, size_t msg_len, \ unsigned int *msg_prio, \ const struct linux_timespec *abs_timeout); } 278 STD { int|linux_sys||mq_notify(linux_mqd_t mqdes, \ const struct linux_sigevent *sevp); } 279 STD { int|linux_sys||mq_getsetattr(linux_mqd_t mqdes, \ const struct linux_mq_attr *newattr, \ struct linux_mq_attr *oldattr); } d564 1 a564 2 341 STD { int|linux_sys||sync_file_range(int fd, \ off_t offset, off_t nbytes, unsigned int flags); } d616 1 a616 1 373 STD { int|linux_sys||syncfs(int fd); } d627 1 a627 3 382 STD { int|linux_sys||renameat2(int fromfd, \ const char *from, int tofd, const char *to, \ unsigned int flags); } d649 1 a649 3 391 STD { ssize_t|linux_sys||copy_file_range(int fd_in, \ off_t * off_in, int fd_out, off_t * off_out, \ size_t len, unsigned int flags); } d695 1 a695 3 435 STD { int|linux_sys||clone3( \ struct linux_user_clone3_args *cl_args, \ size_t size); } @ 1.79 log @Add inotify* syscalls GSoC 2023 (Theodore Preduta) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.78 2023/08/18 19:41:19 christos Exp $ d51 2 d568 3 a570 1 345 UNIMPL getcpu d700 2 a701 1 439 UNIMPL @ 1.78 log @Add linux waitid(2) from GSoC 2023 (Theodore Preduta) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.77 2023/07/29 15:04:28 christos Exp $ d127 1 a127 1 59 STD { int|linux_sys||oldolduname( \ d474 1 a474 1 280 STD { int|linux_sys||waitid(int idtype, id_t id, \ d512 4 a515 3 316 UNIMPL inotify_init 317 UNIMPL inotify_add_watch 318 UNIMPL inotify_rm_watch d590 1 a590 1 360 UNIMPL inotify_init1 d651 1 a651 1 397 STD { int|linux_sys||statx(int fd, const char *path, \ @ 1.77 log @Add/fix statx, readahead, close_range. From GSoC 2023 by Theodore Preduta @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.76 2023/07/28 19:01:11 christos Exp $ d474 3 a476 1 280 UNIMPL waitid @ 1.76 log @add epoll syscalls @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.75 2021/12/02 04:29:48 ryo Exp $ d389 2 a390 1 225 UNIMPL readahead d648 3 a650 1 397 UNIMPL d689 2 a690 1 436 UNIMPL @ 1.75 log @add prlimit64(2) syscall to COMPAT_LINUX and COMPAT_LINUX32 @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.74 2021/11/24 18:52:13 ryo Exp $ d427 6 a432 3 250 UNIMPL epoll_create 251 UNIMPL epoll_ctl 252 UNIMPL epoll_wait d563 3 a565 1 346 UNIMPL epoll_wait d583 1 a583 1 357 UNIMPL epoll_create1 d640 55 @ 1.74 log @add getrandom(2) syscall entry @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.73 2021/09/20 02:20:02 thorpej Exp $ d598 2 a599 1 369 UNIMPL prlimit64 @ 1.73 log @Add preadv(2) and pwritev(2) system calls to COMPAT_LINUX and COMPAT_LINUX32. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.72 2021/09/20 00:09:01 thorpej Exp $ d616 2 a617 1 ; 384 UNIMPL getrandom @ 1.72 log @Add the eventfd system calls to COMPAT_LINUX and COMPAT_LINUX32. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.71 2021/09/19 23:51:36 thorpej Exp $ d582 6 a587 2 361 UNIMPL preadv 362 UNIMPL pwritev @ 1.71 log @Add the timerfd syscalls to COMPAT_LINUX and COMPAT_LINUX32. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.70 2021/09/19 23:01:49 thorpej Exp $ d567 1 a567 1 351 UNIMPL eventfd d576 2 a577 1 356 UNIMPL eventfd2 @ 1.70 log @Add the POSIX timer syscalls (timer_create(), timer_settime(), timer_gettime(), timer_getoverrun(), and timer_delete()) to COMPAT_LINUX and COMPAT_LINUX32. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.69 2020/04/26 18:53:32 thorpej Exp $ d565 2 a566 1 350 UNIMPL timerfd_create d570 5 a574 2 353 UNIMPL timerfd_settime 354 UNIMPL timerfd_gettime @ 1.69 log @Add a NetBSD native futex implementation, mostly written by riastradh@@. Map the COMPAT_LINUX futex calls to the native ones. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.68 2019/11/09 23:44:31 jdolecek Exp $ d434 9 a442 5 257 UNIMPL timer_create 258 UNIMPL timer_settime 259 UNIMPL timer_gettime 260 UNIMPL timer_getoverrun 261 UNIMPL timer_delete @ 1.69.2.1 log @Add Linux eventfd, timerfd, and POSIX timer calls. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.69 2020/04/26 18:53:32 thorpej Exp $ d434 5 a438 9 257 STD { int|linux_sys||timer_create(clockid_t clockid, \ struct linux_sigevent *evp, timer_t *timerid); } 258 STD { int|linux_sys||timer_settime(timer_t timerid, \ int flags, const struct linux_itimerspec *tim, \ struct linux_itimerspec *otim); } 259 STD { int|linux_sys||timer_gettime(timer_t timerid, \ struct linux_itimerspec *tim); } 260 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 261 NOARGS { int|sys||timer_delete(timer_t timerid); } d561 2 a562 3 350 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ int flags); } 351 STD { int|linux_sys||eventfd(unsigned int initval); } d565 2 a566 5 353 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ const struct linux_itimerspec *new_value, \ struct linux_itimerspec *old_value); } 354 STD { int|linux_sys||timerfd_gettime(int fd, \ struct linux_itimerspec *curr_value); } d568 1 a568 2 356 STD { int|linux_sys||eventfd2(unsigned int initval, \ int flags); } @ 1.69.2.2 log @Add suppport for Linux preadv(2) and pwritev(2). Same as native, except for the silly way that the offset argument is passed in. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.69.2.1 2020/12/15 14:07:21 thorpej Exp $ d582 2 a583 6 361 STD { int|linux_sys||preadv(int fd, \ const struct iovec *iovp, int iovcnt, \ unsigned long off_lo, unsigned long off_hi); } 362 STD { int|linux_sys||pwritev(int fd, \ const struct iovcnt *iovp, int iovcnt, \ unsigned long off_lo, unsigned long off_hi); } @ 1.68 log @add dummy implementation of linux fallocate() which just returns EOPNOTSUPP; this is needed so that glibc falls back to emulation and apps behaving properly, since EOPNOTSUPP is a documented and expected return code, but ENOSYS is not right now there are no filesystems in NetBSD tree supporting the fallocate VOP, so no point trying to map this to a native call supposed to help with problem reported in https://mail-index.netbsd.org/tech-kern/2019/11/03/msg025641.html @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.67 2017/02/03 16:28:34 christos Exp $ d541 9 a549 5 338 STD { int|linux_sys||set_robust_list( \ struct linux_robust_list_head *head, size_t len); } 339 STD { int|linux_sys||get_robust_list(int pid, \ struct linux_robust_list_head **head, \ size_t *len); } @ 1.67 log @add send recv mmsg and unimpl XXX: fix base? @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.66 2017/02/03 06:06:09 martin Exp $ d559 2 a560 1 352 UNIMPL fallocate @ 1.67.14.1 log @Mostly merge changes from HEAD upto 20200411 @ text @d1 1 a1 1 $NetBSD$ d559 1 a559 2 352 STD { int|linux_sys||fallocate(int fd, int mode, \ off_t offset, off_t len); } @ 1.66 log @Add accept4 definitions @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.65 2017/01/02 16:32:09 manu Exp $ d572 3 a574 1 365 UNIMPL recvmmsg d578 22 a599 17 367 UNIMPL 368 UNIMPL 369 UNIMPL 370 UNIMPL 371 UNIMPL 372 UNIMPL 373 UNIMPL 374 UNIMPL 375 UNIMPL 376 UNIMPL 377 UNIMPL 378 UNIMPL 379 UNIMPL 380 UNIMPL 381 UNIMPL 382 UNIMPL 383 UNIMPL @ 1.65 log @Add pselect6 Linux system call. This lets Matlab R2016A run on NetBSD/amd64 @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.64 2016/07/24 13:22:01 njoly Exp $ d573 3 a575 1 366 UNIMPL @ 1.65.2.1 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.67 2017/02/03 16:28:34 christos Exp $ d572 19 a590 28 365 STD { int|linux_sys||recvmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags, struct timespec *timeout); } 366 STD { int|linux_sys||accept4(int s, \ struct osockaddr *name, \ int *anamelen, int flags); } 367 UNIMPL fanotify_init 368 UNIMPL fanotify_mark 369 UNIMPL prlimit64 370 UNIMPL name_to_handle_at 371 UNIMPL open_by_handle_at 372 UNIMPL clock_adjtime 373 UNIMPL syncfs 374 STD { int|linux_sys||sendmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags); } 375 UNIMPL setns 376 UNIMPL process_vm_readv 377 UNIMPL process_vm_writev 378 UNIMPL kcmp 379 UNIMPL finit_module 380 UNIMPL sched_setattr 381 UNIMPL sched_getattr 382 UNIMPL renameat2 383 UNIMPL seccomp ; XXX FIX-me? ; 384 UNIMPL getrandom ; 385 UNIMPL memfd_create @ 1.64 log @Small cleanup. Adjust readlink/readlinkat signatures to reduce diffs with native. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.63 2015/03/23 07:50:03 ozaki-r Exp $ d533 4 a536 1 335 UNIMPL pselect6 @ 1.63 log @Fix inconsistent argument names @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.62 2014/11/22 13:18:45 njoly Exp $ d167 1 a167 1 85 NOARGS { int|sys||readlink(const char *path, char *buf, \ d527 1 a527 1 332 NOARGS { int|sys||readlinkat(int fd, const char *path, \ @ 1.63.2.1 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.64 2016/07/24 13:22:01 njoly Exp $ d167 1 a167 1 85 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ d527 1 a527 1 332 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ @ 1.63.2.2 log @Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.65 2017/01/02 16:32:09 manu Exp $ d533 1 a533 4 335 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct linux_timespec *timeout, \ linux_sized_sigset_t *ss); } @ 1.63.2.3 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.67 2017/02/03 16:28:34 christos Exp $ d572 19 a590 28 365 STD { int|linux_sys||recvmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags, struct timespec *timeout); } 366 STD { int|linux_sys||accept4(int s, \ struct osockaddr *name, \ int *anamelen, int flags); } 367 UNIMPL fanotify_init 368 UNIMPL fanotify_mark 369 UNIMPL prlimit64 370 UNIMPL name_to_handle_at 371 UNIMPL open_by_handle_at 372 UNIMPL clock_adjtime 373 UNIMPL syncfs 374 STD { int|linux_sys||sendmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags); } 375 UNIMPL setns 376 UNIMPL process_vm_readv 377 UNIMPL process_vm_writev 378 UNIMPL kcmp 379 UNIMPL finit_module 380 UNIMPL sched_setattr 381 UNIMPL sched_getattr 382 UNIMPL renameat2 383 UNIMPL seccomp ; XXX FIX-me? ; 384 UNIMPL getrandom ; 385 UNIMPL memfd_create @ 1.62 log @Fix ppoll signature (int ->u_int) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.61 2014/05/31 08:51:19 njoly Exp $ d164 1 a164 1 83 NOARGS { int|sys||symlink(const char *path, const char *to); } d166 2 a167 2 struct stat43 *up); } oolstat 85 NOARGS { int|sys||readlink(const char *name, char *buf, \ @ 1.62.2.1 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.63 2015/03/23 07:50:03 ozaki-r Exp $ d164 1 a164 1 83 NOARGS { int|sys||symlink(const char *path, const char *link); } d166 2 a167 2 struct stat43 *ub); } oolstat 85 NOARGS { int|sys||readlink(const char *path, char *buf, \ @ 1.62.2.2 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.62.2.1 2015/04/06 15:18:06 skrll Exp $ d167 1 a167 1 85 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ d527 1 a527 1 332 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ @ 1.62.2.3 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.62.2.2 2016/10/05 20:55:38 skrll Exp $ d533 1 a533 4 335 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct linux_timespec *timeout, \ linux_sized_sigset_t *ss); } d569 19 a587 28 365 STD { int|linux_sys||recvmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags, struct timespec *timeout); } 366 STD { int|linux_sys||accept4(int s, \ struct osockaddr *name, \ int *anamelen, int flags); } 367 UNIMPL fanotify_init 368 UNIMPL fanotify_mark 369 UNIMPL prlimit64 370 UNIMPL name_to_handle_at 371 UNIMPL open_by_handle_at 372 UNIMPL clock_adjtime 373 UNIMPL syncfs 374 STD { int|linux_sys||sendmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags); } 375 UNIMPL setns 376 UNIMPL process_vm_readv 377 UNIMPL process_vm_writev 378 UNIMPL kcmp 379 UNIMPL finit_module 380 UNIMPL sched_setattr 381 UNIMPL sched_getattr 382 UNIMPL renameat2 383 UNIMPL seccomp ; XXX FIX-me? ; 384 UNIMPL getrandom ; 385 UNIMPL memfd_create @ 1.61 log @Fix munmap(2) signature. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.60 2014/05/29 10:35:27 njoly Exp $ d534 1 a534 1 336 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ @ 1.61.2.1 log @Pull up following revision(s) (requested by manu in ticket #1354): sys/compat/linux/arch/alpha/syscalls.master: revision 1.92 via patch sys/compat/linux/arch/amd64/syscalls.master: revision 1.58 via patch sys/compat/linux/arch/arm/syscalls.master: revision 1.65 via patch sys/compat/linux/arch/i386/syscalls.master: revision 1.122 via patch sys/compat/linux/arch/m68k/syscalls.master: revision 1.91 via patch sys/compat/linux/arch/mips/syscalls.master: revision 1.61 via patch sys/compat/linux/arch/powerpc/syscalls.master: revision 1.70 via patch sys/compat/linux/common/linux_misc.c: revision 1.234 sys/compat/linux/common/linux_signal.h: revision 1.31 Add pselect6 Linux system call. This lets Matlab R2016A run on NetBSD/amd64 @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.61 2014/05/31 08:51:19 njoly Exp $ d533 1 a533 4 335 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct linux_timespec *timeout, \ linux_sized_sigset_t *ss); } @ 1.60 log @For utimes(2), use compat_50_sys_utimes() instead of local version. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.59 2014/05/20 17:24:49 njoly Exp $ d180 1 a180 1 91 NOARGS { int|sys||munmap(void *addr, int len); } @ 1.59 log @Fix getgroups/setgroups signature. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.58 2014/05/17 09:23:51 njoly Exp $ d453 2 a454 1 269 STD { int|linux_sys||utimes(const char *path, struct linux_timeval *times); } @ 1.58 log @Fix fadvise64 syscalls to use 64bit offset types. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.57 2014/05/06 17:33:35 njoly Exp $ d360 1 a360 1 205 NOARGS getgroups32 { int|sys||getgroups(u_int gidsetsize, \ d362 1 a362 1 206 NOARGS setgroups32 { int|sys||setgroups(u_int gidsetsize, \ @ 1.57 log @Reduce diffs between archs; make mknod device argument unsigned. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.56 2014/05/04 10:08:53 njoly Exp $ d454 2 a455 2 270 STD { int|linux_sys||fadvise64_64(int fd, \ linux_off_t offset, linux_off_t len, int advice); } @ 1.56 log @Fix pread/pwrite syscalls which need a 64bit offset argument. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.55 2014/04/08 16:48:01 njoly Exp $ d75 1 a75 1 int dev); } @ 1.55 log @Adjust read/write/readv/writev signature to match native versions. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.54 2013/12/08 15:55:10 njoly Exp $ d319 1 a319 1 size_t nbyte, linux_off_t offset); } d321 1 a321 1 size_t nbyte, linux_off_t offset); } @ 1.54 log @Sprinkle a few more linux_umode_t where appropriate. Reduce diffs between archs. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.53 2013/11/19 03:52:07 chs Exp $ d59 3 a61 2 3 NOARGS { int|sys||read(int fd, char *buf, u_int nbyte); } 4 NOARGS { int|sys||write(int fd, char *buf, u_int nbyte); } d255 4 a258 4 145 NOARGS { int|sys||readv(int fd, struct iovec *iovp, \ u_int iovcnt); } 146 NOARGS { int|sys||writev(int fd, struct iovec *iovp, \ u_int iovcnt); } @ 1.54.2.1 log @Rebase. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.61 2014/05/31 08:51:19 njoly Exp $ d59 2 a60 3 3 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 4 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ size_t nbyte); } d74 1 a74 1 unsigned dev); } d179 1 a179 1 91 NOARGS { int|sys||munmap(void *addr, size_t len); } d254 4 a257 4 145 NOARGS { ssize_t|sys||readv(int fd, \ const struct iovec *iovp, int iovcnt); } 146 NOARGS { ssize_t|sys||writev(int fd, \ const struct iovec *iovp, int iovcnt); } d318 1 a318 1 size_t nbyte, off_t offset); } d320 1 a320 1 size_t nbyte, off_t offset); } d359 1 a359 1 205 NOARGS getgroups32 { int|sys||getgroups(int gidsetsize, \ d361 1 a361 1 206 NOARGS setgroups32 { int|sys||setgroups(int gidsetsize, \ d452 3 a454 4 269 NOARGS { int|compat_50_sys||utimes(const char *path, \ const struct timeval50 *tptr); } 270 STD { int|linux_sys||fadvise64_64(int fd, off_t offset, \ off_t len, int advice); } @ 1.53 log @add the *at() syscalls. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.52 2013/11/07 19:37:18 njoly Exp $ d62 1 a62 1 int mode); } d66 1 a66 1 8 STD { int|linux_sys||creat(const char *path, int mode); } d73 1 a73 1 14 STD { int|linux_sys||mknod(const char *path, int mode, \ d104 1 a104 1 39 NOARGS { int|sys||mkdir(const char *path, int mode); } d183 1 a183 1 94 NOARGS { int|sys||fchmod(int fd, int mode); } @ 1.52 log @Fix dup/dup2/dup3 argument types (u_int -> int). @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.51 2013/09/24 13:27:49 njoly Exp $ d506 8 a513 4 322 UNIMPL openat 323 UNIMPL mkdirat 324 UNIMPL mknodat 325 UNIMPL fchownat d515 16 a530 8 327 UNIMPL fstatat64 328 UNIMPL unlinkat 329 UNIMPL renameat 330 UNIMPL linkat 331 UNIMPL symlinkat 332 UNIMPL readlinkat 333 UNIMPL fchmodat 334 UNIMPL faccessat @ 1.51 log @Add utimensat(2) for compat linux. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.50 2013/04/08 20:54:48 pooka Exp $ d106 1 a106 1 41 NOARGS { int|sys||dup(u_int fd); } d131 1 a131 1 63 NOARGS { int|sys||dup2(u_int from, u_int to); } @ 1.50 log @support utimes on non-alpha linux platforms @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.49 2012/09/19 21:19:14 pooka Exp $ d537 2 a538 1 348 UNIMPL utimensat @ 1.50.4.1 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.50 2013/04/08 20:54:48 pooka Exp $ d59 2 a60 3 3 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 4 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ size_t nbyte); } d62 1 a62 1 linux_umode_t mode); } d66 1 a66 1 8 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } d73 2 a74 2 14 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ unsigned dev); } d104 1 a104 1 39 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } d106 1 a106 1 41 NOARGS { int|sys||dup(int fd); } d131 1 a131 1 63 NOARGS { int|sys||dup2(int from, int to); } d183 1 a183 1 94 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } d254 4 a257 4 145 NOARGS { ssize_t|sys||readv(int fd, \ const struct iovec *iovp, int iovcnt); } 146 NOARGS { ssize_t|sys||writev(int fd, \ const struct iovec *iovp, int iovcnt); } d318 1 a318 1 size_t nbyte, off_t offset); } d320 1 a320 1 size_t nbyte, off_t offset); } d453 2 a454 2 270 STD { int|linux_sys||fadvise64_64(int fd, off_t offset, \ off_t len, int advice); } d506 4 a509 8 322 STD { int|linux_sys||openat(int fd, const char *path, \ int flags, ... linux_umode_t mode); } 323 NOARGS { int|sys||mkdirat(int fd, const char *path, \ linux_umode_t mode); } 324 STD { int|linux_sys||mknodat(int fd, const char *path, \ linux_umode_t mode, unsigned dev); } 325 STD { int|linux_sys||fchownat(int fd, const char *path, \ uid_t owner, gid_t group, int flag); } d511 8 a518 16 327 STD { int|linux_sys||fstatat64(int fd, const char *path, \ struct linux_stat64 *sp, int flag); } 328 STD { int|linux_sys||unlinkat(int fd, const char *path, \ int flag); } 329 NOARGS { int|sys||renameat(int fromfd, const char *from, \ int tofd, const char *to); } 330 STD { int|linux_sys||linkat(int fd1, const char *name1, \ int fd2, const char *name2, int flags); } 331 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ const char *path2); } 332 NOARGS { int|sys||readlinkat(int fd, const char *path, \ char *buf, size_t bufsize); } 333 STD { int|linux_sys||fchmodat(int fd, const char *path, \ linux_umode_t mode); } 334 STD { int|linux_sys||faccessat(int fd, const char *path, \ int amode); } d537 1 a537 2 348 STD { int|linux_sys||utimensat(int fd, const char *path, \ struct linux_timespec *times, int flag); } @ 1.49 log @emulate ppoll which is essentially our pollts @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.48 2011/11/18 04:03:50 christos Exp $ d452 1 a452 1 269 UNIMPL utimes @ 1.48 log @add sigtimedwait @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.47 2011/07/09 14:49:40 christos Exp $ d520 3 a522 1 336 UNIMPL ppoll @ 1.48.10.1 log @Resync to 2012-11-19 00:00:00 UTC @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.49 2012/09/19 21:19:14 pooka Exp $ d520 1 a520 3 336 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ struct linux_timespec *timeout, \ linux_sigset_t *sigset); } @ 1.48.10.2 log @resync from head @ text @d1 1 a1 1 $NetBSD$ d452 1 a452 1 269 STD { int|linux_sys||utimes(const char *path, struct linux_timeval *times); } @ 1.48.10.3 log @Rebase to HEAD as of a few days ago. @ text @d59 2 a60 3 3 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 4 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ size_t nbyte); } d62 1 a62 1 linux_umode_t mode); } d66 1 a66 1 8 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } d73 2 a74 2 14 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ unsigned dev); } d104 1 a104 1 39 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } d106 1 a106 1 41 NOARGS { int|sys||dup(int fd); } d131 1 a131 1 63 NOARGS { int|sys||dup2(int from, int to); } d179 1 a179 1 91 NOARGS { int|sys||munmap(void *addr, size_t len); } d183 1 a183 1 94 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } d254 4 a257 4 145 NOARGS { ssize_t|sys||readv(int fd, \ const struct iovec *iovp, int iovcnt); } 146 NOARGS { ssize_t|sys||writev(int fd, \ const struct iovec *iovp, int iovcnt); } d318 1 a318 1 size_t nbyte, off_t offset); } d320 1 a320 1 size_t nbyte, off_t offset); } d359 1 a359 1 205 NOARGS getgroups32 { int|sys||getgroups(int gidsetsize, \ d361 1 a361 1 206 NOARGS setgroups32 { int|sys||setgroups(int gidsetsize, \ d452 3 a454 4 269 NOARGS { int|compat_50_sys||utimes(const char *path, \ const struct timeval50 *tptr); } 270 STD { int|linux_sys||fadvise64_64(int fd, off_t offset, \ off_t len, int advice); } d506 4 a509 8 322 STD { int|linux_sys||openat(int fd, const char *path, \ int flags, ... linux_umode_t mode); } 323 NOARGS { int|sys||mkdirat(int fd, const char *path, \ linux_umode_t mode); } 324 STD { int|linux_sys||mknodat(int fd, const char *path, \ linux_umode_t mode, unsigned dev); } 325 STD { int|linux_sys||fchownat(int fd, const char *path, \ uid_t owner, gid_t group, int flag); } d511 8 a518 16 327 STD { int|linux_sys||fstatat64(int fd, const char *path, \ struct linux_stat64 *sp, int flag); } 328 STD { int|linux_sys||unlinkat(int fd, const char *path, \ int flag); } 329 NOARGS { int|sys||renameat(int fromfd, const char *from, \ int tofd, const char *to); } 330 STD { int|linux_sys||linkat(int fd1, const char *name1, \ int fd2, const char *name2, int flags); } 331 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ const char *path2); } 332 NOARGS { int|sys||readlinkat(int fd, const char *path, \ char *buf, size_t bufsize); } 333 STD { int|linux_sys||fchmodat(int fd, const char *path, \ linux_umode_t mode); } 334 STD { int|linux_sys||faccessat(int fd, const char *path, \ int amode); } d537 1 a537 2 348 STD { int|linux_sys||utimensat(int fd, const char *path, \ struct linux_timespec *times, int flag); } @ 1.48.10.4 log @update from HEAD @ text @d164 1 a164 1 83 NOARGS { int|sys||symlink(const char *path, const char *link); } d166 2 a167 2 struct stat43 *ub); } oolstat 85 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ d527 1 a527 1 332 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ d533 2 a534 5 335 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct linux_timespec *timeout, \ linux_sized_sigset_t *ss); } 336 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ d569 19 a587 28 365 STD { int|linux_sys||recvmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags, struct timespec *timeout); } 366 STD { int|linux_sys||accept4(int s, \ struct osockaddr *name, \ int *anamelen, int flags); } 367 UNIMPL fanotify_init 368 UNIMPL fanotify_mark 369 UNIMPL prlimit64 370 UNIMPL name_to_handle_at 371 UNIMPL open_by_handle_at 372 UNIMPL clock_adjtime 373 UNIMPL syncfs 374 STD { int|linux_sys||sendmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags); } 375 UNIMPL setns 376 UNIMPL process_vm_readv 377 UNIMPL process_vm_writev 378 UNIMPL kcmp 379 UNIMPL finit_module 380 UNIMPL sched_setattr 381 UNIMPL sched_getattr 382 UNIMPL renameat2 383 UNIMPL seccomp ; XXX FIX-me? ; 384 UNIMPL getrandom ; 385 UNIMPL memfd_create @ 1.47 log @the first argument of {g,s}etitimer() is int not u_int. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.46 2011/05/30 17:50:31 alnsn Exp $ d309 4 a312 1 177 UNIMPL rt_sigtimedwait @ 1.47.2.1 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.47 2011/07/09 14:49:40 christos Exp $ d309 1 a309 4 177 STD { int|linux_sys||rt_sigtimedwait( \ const linux_sigset_t *set, \ linux_siginfo_t *info, \ const struct linux_timespec *timeout); } @ 1.47.2.2 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.47.2.1 2012/04/17 00:07:16 yamt Exp $ d520 1 a520 3 336 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ struct linux_timespec *timeout, \ linux_sigset_t *sigset); } @ 1.47.2.3 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: syscalls.master,v 1.47.2.2 2012/10/30 17:20:41 yamt Exp $ d59 2 a60 3 3 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 4 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ size_t nbyte); } d62 1 a62 1 linux_umode_t mode); } d66 1 a66 1 8 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } d73 2 a74 2 14 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ unsigned dev); } d104 1 a104 1 39 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } d106 1 a106 1 41 NOARGS { int|sys||dup(int fd); } d131 1 a131 1 63 NOARGS { int|sys||dup2(int from, int to); } d183 1 a183 1 94 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } d254 4 a257 4 145 NOARGS { ssize_t|sys||readv(int fd, \ const struct iovec *iovp, int iovcnt); } 146 NOARGS { ssize_t|sys||writev(int fd, \ const struct iovec *iovp, int iovcnt); } d318 1 a318 1 size_t nbyte, off_t offset); } d320 1 a320 1 size_t nbyte, off_t offset); } d452 1 a452 1 269 STD { int|linux_sys||utimes(const char *path, struct linux_timeval *times); } d506 4 a509 8 322 STD { int|linux_sys||openat(int fd, const char *path, \ int flags, ... linux_umode_t mode); } 323 NOARGS { int|sys||mkdirat(int fd, const char *path, \ linux_umode_t mode); } 324 STD { int|linux_sys||mknodat(int fd, const char *path, \ linux_umode_t mode, unsigned dev); } 325 STD { int|linux_sys||fchownat(int fd, const char *path, \ uid_t owner, gid_t group, int flag); } d511 8 a518 16 327 STD { int|linux_sys||fstatat64(int fd, const char *path, \ struct linux_stat64 *sp, int flag); } 328 STD { int|linux_sys||unlinkat(int fd, const char *path, \ int flag); } 329 NOARGS { int|sys||renameat(int fromfd, const char *from, \ int tofd, const char *to); } 330 STD { int|linux_sys||linkat(int fd1, const char *name1, \ int fd2, const char *name2, int flags); } 331 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ const char *path2); } 332 NOARGS { int|sys||readlinkat(int fd, const char *path, \ char *buf, size_t bufsize); } 333 STD { int|linux_sys||fchmodat(int fd, const char *path, \ linux_umode_t mode); } 334 STD { int|linux_sys||faccessat(int fd, const char *path, \ int amode); } d537 1 a537 2 348 STD { int|linux_sys||utimensat(int fd, const char *path, \ struct linux_timespec *times, int flag); } @ 1.46 log @Add fadvise64 and fadvise64_64 syscalls to compat_linux and compat_linux32. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.45 2011/04/15 13:04:52 he Exp $ d197 1 a197 1 104 NOARGS { int|compat_50_sys||setitimer(u_int which, \ d200 1 a200 1 105 NOARGS { int|compat_50_sys||getitimer(u_int which, \ @ 1.45 log @Add dup3() and pipe2() for these archs as well. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.44 2010/07/07 01:30:33 chs Exp $ d450 2 a451 1 270 UNIMPL fadvise64_64 @ 1.44 log @many changes for COMPAT_LINUX: - update the linux syscall table for each platform. - support new-style (NPTL) linux pthreads on all platforms. clone() with CLONE_THREAD uses 1 process with many LWPs instead of separate processes. - move the contents of sys__lwp_setprivate() into a new lwp_setprivate() and use that everywhere. - update linux_release[] and linux32_release[] to "2.6.18". - adjust placement of emul fork/exec/exit hooks as needed and adjust other emul code to match. - convert all struct emul definitions to use named initializers. - change the pid allocator to allow multiple pids to refer to the same proc. - remove a few fields from struct proc that are no longer needed. - disable the non-functional "vdso" code in linux32/amd64, glibc works fine without it. - fix a race in the futex code where we could miss a wakeup after a requeue operation. - redo futex locking to be a little more efficient. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.43 2009/11/24 10:42:43 njoly Exp $ d541 2 a542 2 358 UNIMPL dup3 359 UNIMPL pipe2 @ 1.44.2.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.46 2011/05/30 17:50:31 alnsn Exp $ d450 1 a450 2 270 STD { int|linux_sys||fadvise64_64(int fd, \ linux_off_t offset, linux_off_t len, int advice); } d541 2 a542 2 358 STD { int|linux_sys||dup3(int from, int to, int flags); } 359 STD { int|linux_sys||pipe2(int *pfds, int flags); } @ 1.43 log @Update personality(2) to match Linux definition where the argument is an unsigned long. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.42 2009/06/08 13:26:57 njoly Exp $ d57 1 a57 1 1 NOARGS { int|sys||exit(int rval); } d220 2 a221 1 120 STD { int|linux_sys||clone(int flags, void *stack); } d384 1 a384 1 224 UNIMPL gettid d407 1 a407 1 238 UNIMPL tkill d409 7 a415 3 240 UNIMPL futex 241 UNIMPL sched_setaffinity 242 UNIMPL sched_getaffinity d427 3 a429 3 254 UNIMPL /* for set_thread_area */ 255 UNIMPL /* for get_thread_area */ 256 UNIMPL /* for set_tid_address */ d448 1 a448 1 268 UNIMPL tgkill d454 95 a548 92 274 UNIMPL 275 UNIMPL 276 UNIMPL 277 UNIMPL 278 UNIMPL 279 UNIMPL 280 UNIMPL 281 UNIMPL 282 UNIMPL 283 UNIMPL 284 UNIMPL 285 UNIMPL 286 UNIMPL 287 UNIMPL 288 UNIMPL 289 UNIMPL 290 UNIMPL 291 UNIMPL 292 UNIMPL 293 UNIMPL 294 UNIMPL 295 UNIMPL 296 UNIMPL 297 UNIMPL 298 UNIMPL 299 UNIMPL 300 UNIMPL 301 UNIMPL 302 UNIMPL 303 UNIMPL 304 UNIMPL 305 UNIMPL 306 UNIMPL 307 UNIMPL 308 UNIMPL 309 UNIMPL 310 UNIMPL 311 UNIMPL 312 UNIMPL 313 UNIMPL 314 UNIMPL 315 UNIMPL 316 UNIMPL 317 UNIMPL 318 UNIMPL 319 UNIMPL 320 UNIMPL 321 UNIMPL 322 UNIMPL 323 UNIMPL 324 UNIMPL 325 UNIMPL 326 UNIMPL 327 UNIMPL 328 UNIMPL 329 UNIMPL 330 UNIMPL 331 UNIMPL 332 UNIMPL 333 UNIMPL 334 UNIMPL 335 UNIMPL 336 UNIMPL 337 UNIMPL 338 UNIMPL 339 UNIMPL 340 UNIMPL 341 UNIMPL 342 UNIMPL 343 UNIMPL 344 UNIMPL 345 UNIMPL 346 UNIMPL 347 UNIMPL 348 UNIMPL 349 UNIMPL 350 UNIMPL 351 UNIMPL 352 UNIMPL 353 UNIMPL 354 UNIMPL 355 UNIMPL 356 UNIMPL 357 UNIMPL 358 UNIMPL 359 UNIMPL 360 UNIMPL 361 UNIMPL 362 UNIMPL 363 UNIMPL 364 UNIMPL 365 UNIMPL d578 1 a578 1 intptr_t to); } d581 1 @ 1.43.4.1 log @sync with head @ text @d1 1 a1 1 $NetBSD$ d57 1 a57 1 1 STD { int|linux_sys||exit(int rval); } d220 1 a220 2 120 STD { int|linux_sys||clone(int flags, void *stack, \ void *parent_tidptr, void *tls, void *child_tidptr); } d383 1 a383 1 224 NOARGS { pid_t|linux_sys||gettid(void); } d406 1 a406 1 238 STD { int|linux_sys||tkill(int tid, int sig); } d408 3 a410 7 240 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ const struct linux_timespec *timeout, int *uaddr2, \ int val3); } 241 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 242 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } d422 3 a424 3 254 UNIMPL set_thread_area 255 UNIMPL get_thread_area 256 STD { int|linux_sys||set_tid_address(int *tid); } d443 1 a443 1 268 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } d449 92 a540 95 274 UNIMPL mq_open 275 UNIMPL mq_unlink 276 UNIMPL mq_timedsend 277 UNIMPL mq_timedreceive 278 UNIMPL mq_notify 279 UNIMPL mq_getsetattr 280 UNIMPL waitid 281 UNIMPL socket 282 UNIMPL bind 283 UNIMPL connect 284 UNIMPL listen 285 UNIMPL accept 286 UNIMPL getsockname 287 UNIMPL getpeername 288 UNIMPL socketpair 289 UNIMPL send 290 UNIMPL sendto 291 UNIMPL recv 292 UNIMPL recvfrom 293 UNIMPL shutdown 294 UNIMPL setsockopt 295 UNIMPL getsockopt 296 UNIMPL sendmsg 297 UNIMPL recvmsg 298 UNIMPL semop 299 UNIMPL semget 300 UNIMPL semctl 301 UNIMPL msgsnd 302 UNIMPL msgrcv 303 UNIMPL msgget 304 UNIMPL msgctl 305 UNIMPL shmat 306 UNIMPL shmdt 307 UNIMPL shmget 308 UNIMPL shmctl 309 UNIMPL add_key 310 UNIMPL request_key 311 UNIMPL keyctl 312 UNIMPL semtimedop 313 UNIMPL vserver 314 UNIMPL ioptio_set 315 UNIMPL ioptio_get 316 UNIMPL inotify_init 317 UNIMPL inotify_add_watch 318 UNIMPL inotify_rm_watch 319 UNIMPL mbind 320 UNIMPL get_mempolicy 321 UNIMPL set_mempolicy 322 UNIMPL openat 323 UNIMPL mkdirat 324 UNIMPL mknodat 325 UNIMPL fchownat 326 UNIMPL futimesat 327 UNIMPL fstatat64 328 UNIMPL unlinkat 329 UNIMPL renameat 330 UNIMPL linkat 331 UNIMPL symlinkat 332 UNIMPL readlinkat 333 UNIMPL fchmodat 334 UNIMPL faccessat 335 UNIMPL pselect6 336 UNIMPL ppoll 337 UNIMPL unshare 338 STD { int|linux_sys||set_robust_list( \ struct linux_robust_list_head *head, size_t len); } 339 STD { int|linux_sys||get_robust_list(int pid, \ struct linux_robust_list_head **head, \ size_t *len); } 340 UNIMPL splice 341 UNIMPL sync_file_range2 342 UNIMPL tee 343 UNIMPL vmsplice 344 UNIMPL move_pages 345 UNIMPL getcpu 346 UNIMPL epoll_wait 347 UNIMPL kexec_load 348 UNIMPL utimensat 349 UNIMPL signalfd 350 UNIMPL timerfd_create 351 UNIMPL eventfd 352 UNIMPL fallocate 353 UNIMPL timerfd_settime 354 UNIMPL timerfd_gettime 355 UNIMPL signalfd4 356 UNIMPL eventfd2 357 UNIMPL epoll_create1 358 UNIMPL dup3 359 UNIMPL pipe2 360 UNIMPL inotify_init1 361 UNIMPL preadv 362 UNIMPL pwritev 363 UNIMPL rt_tgsigqueueinfo 364 UNIMPL perf_counter_open 365 UNIMPL recvmmsg d570 1 a570 1 intptr_t to, int flags); } a572 1 389 STD { int|linux_sys||set_tls(void *tls); } @ 1.43.4.2 log @sync with head @ text @d541 2 a542 2 358 STD { int|linux_sys||dup3(int from, int to, int flags); } 359 STD { int|linux_sys||pipe2(int *pfds, int flags); } @ 1.43.4.3 log @sync with head @ text @d450 1 a450 2 270 STD { int|linux_sys||fadvise64_64(int fd, \ linux_off_t offset, linux_off_t len, int advice); } @ 1.43.2.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD$ d57 1 a57 1 1 STD { int|linux_sys||exit(int rval); } d220 1 a220 2 120 STD { int|linux_sys||clone(int flags, void *stack, \ void *parent_tidptr, void *tls, void *child_tidptr); } d383 1 a383 1 224 NOARGS { pid_t|linux_sys||gettid(void); } d406 1 a406 1 238 STD { int|linux_sys||tkill(int tid, int sig); } d408 3 a410 7 240 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ const struct linux_timespec *timeout, int *uaddr2, \ int val3); } 241 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 242 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } d422 3 a424 3 254 UNIMPL set_thread_area 255 UNIMPL get_thread_area 256 STD { int|linux_sys||set_tid_address(int *tid); } d443 1 a443 1 268 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } d449 92 a540 95 274 UNIMPL mq_open 275 UNIMPL mq_unlink 276 UNIMPL mq_timedsend 277 UNIMPL mq_timedreceive 278 UNIMPL mq_notify 279 UNIMPL mq_getsetattr 280 UNIMPL waitid 281 UNIMPL socket 282 UNIMPL bind 283 UNIMPL connect 284 UNIMPL listen 285 UNIMPL accept 286 UNIMPL getsockname 287 UNIMPL getpeername 288 UNIMPL socketpair 289 UNIMPL send 290 UNIMPL sendto 291 UNIMPL recv 292 UNIMPL recvfrom 293 UNIMPL shutdown 294 UNIMPL setsockopt 295 UNIMPL getsockopt 296 UNIMPL sendmsg 297 UNIMPL recvmsg 298 UNIMPL semop 299 UNIMPL semget 300 UNIMPL semctl 301 UNIMPL msgsnd 302 UNIMPL msgrcv 303 UNIMPL msgget 304 UNIMPL msgctl 305 UNIMPL shmat 306 UNIMPL shmdt 307 UNIMPL shmget 308 UNIMPL shmctl 309 UNIMPL add_key 310 UNIMPL request_key 311 UNIMPL keyctl 312 UNIMPL semtimedop 313 UNIMPL vserver 314 UNIMPL ioptio_set 315 UNIMPL ioptio_get 316 UNIMPL inotify_init 317 UNIMPL inotify_add_watch 318 UNIMPL inotify_rm_watch 319 UNIMPL mbind 320 UNIMPL get_mempolicy 321 UNIMPL set_mempolicy 322 UNIMPL openat 323 UNIMPL mkdirat 324 UNIMPL mknodat 325 UNIMPL fchownat 326 UNIMPL futimesat 327 UNIMPL fstatat64 328 UNIMPL unlinkat 329 UNIMPL renameat 330 UNIMPL linkat 331 UNIMPL symlinkat 332 UNIMPL readlinkat 333 UNIMPL fchmodat 334 UNIMPL faccessat 335 UNIMPL pselect6 336 UNIMPL ppoll 337 UNIMPL unshare 338 STD { int|linux_sys||set_robust_list( \ struct linux_robust_list_head *head, size_t len); } 339 STD { int|linux_sys||get_robust_list(int pid, \ struct linux_robust_list_head **head, \ size_t *len); } 340 UNIMPL splice 341 UNIMPL sync_file_range2 342 UNIMPL tee 343 UNIMPL vmsplice 344 UNIMPL move_pages 345 UNIMPL getcpu 346 UNIMPL epoll_wait 347 UNIMPL kexec_load 348 UNIMPL utimensat 349 UNIMPL signalfd 350 UNIMPL timerfd_create 351 UNIMPL eventfd 352 UNIMPL fallocate 353 UNIMPL timerfd_settime 354 UNIMPL timerfd_gettime 355 UNIMPL signalfd4 356 UNIMPL eventfd2 357 UNIMPL epoll_create1 358 UNIMPL dup3 359 UNIMPL pipe2 360 UNIMPL inotify_init1 361 UNIMPL preadv 362 UNIMPL pwritev 363 UNIMPL rt_tgsigqueueinfo 364 UNIMPL perf_counter_open 365 UNIMPL recvmmsg d570 1 a570 1 intptr_t to, int flags); } a572 1 389 STD { int|linux_sys||set_tls(void *tls); } @ 1.42 log @Update rt_queueinfo(2) definition, and kill a corresponding comment. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.41 2009/01/17 22:28:52 njoly Exp $ d240 1 a240 1 136 STD { int|linux_sys||personality(int per); } @ 1.41 log @Convert linux/linux32 wait(4) to use a compat50 rusage structure. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.40 2009/01/15 23:48:50 njoly Exp $ a308 1 ; XXX XAX int here? sigset_t here? siginfo_t d310 1 a310 1 void *uinfo); } @ 1.41.2.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.42 2009/06/08 13:26:57 njoly Exp $ d309 1 d311 1 a311 1 linux_siginfo_t *uinfo); } @ 1.40 log @Update some syscalls/arguments to use the new compat50 equivalents. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.39 2009/01/13 22:27:43 pooka Exp $ d213 1 a213 1 int options, struct rusage *rusage); } @ 1.39 log @Convert the syscalls.master to a format from which it is easier to parse and generate the compat name and basename (e.g. __stat50 and stat). Use this to autogenerate __RENAME()'s to the rump_syscalls header so that they can be called e.g. rump_sys_socket() instead of rump_sys___socket30(). @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.38 2009/01/13 04:31:12 rtr Exp $ d154 1 a154 1 78 STD { int|linux_sys||gettimeofday(struct timeval *tp, \ d156 1 a156 1 79 STD { int|linux_sys||settimeofday(struct timeval *tp, \ d250 1 a250 1 struct timeval *timeout); } @ 1.38 log @actually commit syscalls.master this time add back blank line between #include a47 1 #include d58 6 a63 6 0 NOARGS { int|linux_sys||nosys(void); } 1 NOARGS { int|sys||exit(int rval); } 2 NOARGS { int|sys||fork(void); } 3 NOARGS { int|sys||read(int fd, char *buf, u_int nbyte); } 4 NOARGS { int|sys||write(int fd, char *buf, u_int nbyte); } 5 STD { int|linux_sys||open(const char *path, int flags, \ d65 2 a66 2 6 NOARGS { int|sys||close(int fd); } 7 STD { int|linux_sys||waitpid(int pid, int *status, \ d68 4 a71 4 8 STD { int|linux_sys||creat(const char *path, int mode); } 9 NOARGS { int|sys||link(const char *path, const char *link); } 10 STD { int|linux_sys||unlink(const char *path); } 11 NOARGS { int|sys||execve(const char *path, char **argp, \ d73 3 a75 3 12 NOARGS { int|sys||chdir(const char *path); } 13 STD { int|linux_sys||time(linux_time_t *t); } 14 STD { int|linux_sys||mknod(const char *path, int mode, \ d77 2 a78 2 15 NOARGS { int|sys||chmod(const char *path, int mode); } 16 STD { int|linux_sys||lchown16(const char *path, \ d82 1 a82 1 19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ d84 1 a84 1 20 NOARGS { pid_t|sys||getpid(void); } d87 4 a90 4 23 NOARGS { int|sys||setuid(uid_t uid); } 24 NOARGS { uid_t|sys||getuid(void); } 25 STD { int|linux_sys||stime(linux_time_t *t); } 26 STD { int|linux_sys||ptrace(int request, int pid, \ d92 1 a92 1 27 STD { int|linux_sys||alarm(unsigned int secs); } d94 2 a95 2 29 STD { int|linux_sys||pause(void); } 30 STD { int|linux_sys||utime(const char *path, \ d99 2 a100 2 33 NOARGS { int|sys||access(const char *path, int flags); } 34 STD { int|linux_sys||nice(int incr); } d102 3 a104 3 36 NOARGS { int|sys||sync(void); } 37 STD { int|linux_sys||kill(int pid, int signum); } 38 NOARGS { int|sys||__posix_rename(const char *from, \ d106 5 a110 5 39 NOARGS { int|sys||mkdir(const char *path, int mode); } 40 NOARGS { int|sys||rmdir(const char *path); } 41 NOARGS { int|sys||dup(u_int fd); } 42 STD { int|linux_sys||pipe(int *pfds); } 43 STD { int|linux_sys||times(struct times *tms); } d112 4 a115 4 45 STD { int|linux_sys||brk(char *nsize); } 46 NOARGS { int|sys||setgid(gid_t gid); } 47 NOARGS { gid_t|sys||getgid(void); } 48 STD { int|linux_sys||signal(int signum, \ d117 3 a119 3 49 NOARGS { uid_t|sys||geteuid(void); } 50 NOARGS { gid_t|sys||getegid(void); } 51 NOARGS { int|sys||acct(char *path); } d122 1 a122 1 54 STD { int|linux_sys||ioctl(int fd, u_long com, \ d124 1 a124 1 55 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } d126 1 a126 1 57 NOARGS { int|sys||setpgid(int pid, int pgid); } d128 1 a128 1 59 STD { int|linux_sys||oldolduname( \ d130 2 a131 2 60 NOARGS { int|sys||umask(int newmask); } 61 NOARGS { int|sys||chroot(char *path); } d133 5 a137 5 63 NOARGS { int|sys||dup2(u_int from, u_int to); } 64 NOARGS { pid_t|sys||getppid(void); } 65 NOARGS { int|sys||getpgrp(void); } 66 NOARGS { int|sys||setsid(void); } 67 STD { int|linux_sys||sigaction(int signum, \ d140 3 a142 3 68 STD { int|linux_sys||siggetmask(void); } 69 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 70 STD { int|linux_sys||setreuid16(linux_uid16_t ruid, \ d144 1 a144 1 71 STD { int|linux_sys||setregid16(linux_gid16_t rgid, \ d146 1 a146 1 72 STD { int|linux_sys||sigsuspend(void *restart, \ d148 2 a149 2 73 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 74 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ d151 1 a151 1 75 STD { int|linux_sys||setrlimit(u_int which, \ d153 1 a153 1 76 STD { int|linux_sys||getrlimit(u_int which, \ d155 2 a156 2 77 NOARGS { int|compat_50_sys||getrusage(int who, struct rusage50 *rusage); } 78 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ d158 1 a158 1 79 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ d160 1 a160 1 80 STD { int|linux_sys||getgroups16(int gidsetsize, \ d162 1 a162 1 81 STD { int|linux_sys||setgroups16(int gidsetsize, \ d164 3 a166 3 82 STD { int|linux_sys||oldselect(struct linux_oldselect *lsp); } 83 NOARGS { int|sys||symlink(const char *path, const char *to); } 84 NOARGS { int|compat_43_sys||lstat(const char *path, \ d168 1 a168 1 85 NOARGS { int|sys||readlink(const char *name, char *buf, \ d171 1 a171 1 86 STD { int|linux_sys||uselib(const char *path); } d175 2 a176 2 87 STD { int|linux_sys||swapon(char *name); } 88 STD { int|linux_sys||reboot(int magic1, int magic2, \ d178 1 a178 1 89 STD { int|linux_sys||readdir(int fd, void *dent, \ d180 3 a182 3 90 STD { int|linux_sys||old_mmap(struct linux_oldmmap *lmp); } 91 NOARGS { int|sys||munmap(void *addr, int len); } 92 NOARGS { int|compat_43_sys||truncate(const char *path, \ d184 3 a186 3 93 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 94 NOARGS { int|sys||fchmod(int fd, int mode); } 95 STD { int|linux_sys||fchown16(int fd, linux_uid16_t uid, \ d188 3 a190 3 96 STD { int|linux_sys||getpriority(int which, int who); } 97 NOARGS { int|sys||setpriority(int which, int who, int prio); } 98 NOARGS { int|sys||profil(void *samples, u_int size, \ d192 1 a192 1 99 STD { int|linux_sys||statfs(const char *path, \ d194 1 a194 1 100 STD { int|linux_sys||fstatfs(int fd, \ d197 1 a197 1 102 STD { int|linux_sys||socketcall(int what, void *args); } d199 5 a203 6 104 NOARGS { int|compat_50_sys||setitimer(u_int which, \ struct itimerval50 *itv, \ struct itimerval50 *oitv); } 105 NOARGS { int|compat_50_sys||getitimer(u_int which, \ struct itimerval50 *itv); } 106 STD { int|linux_sys||stat(const char *path, \ d205 1 a205 1 107 STD { int|linux_sys||lstat(const char *path, \ d207 2 a208 2 108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 109 STD { int|linux_sys||olduname(struct linux_oldutsname *up); } d213 5 a217 5 114 STD { int|linux_sys||wait4(int pid, int *status, \ int options, struct rusage50 *rusage); } 115 STD { int|linux_sys||swapoff(const char *path); } 116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 117 STD { int|linux_sys||ipc(int what, int a1, int a2, int a3, \ d219 4 a222 4 118 NOARGS { int|sys||fsync(int fd); } 119 STD { int|linux_sys||sigreturn(struct linux_sigcontext *scp); } 120 STD { int|linux_sys||clone(int flags, void *stack); } 121 STD { int|linux_sys||setdomainname(char *domainname, \ d224 1 a224 1 122 STD { int|linux_sys||uname(struct linux_utsname *up); } d227 1 a227 1 125 STD { int|linux_sys||mprotect(const void *start, \ d229 1 a229 1 126 STD { int|linux_sys||sigprocmask(int how, \ d237 2 a238 2 132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 133 NOARGS { int|sys||fchdir(int fd); } d241 1 a241 1 136 STD { int|linux_sys||personality(int per); } d243 3 a245 3 138 STD { int|linux_sys||setfsuid(uid_t uid); } 139 STD { int|linux_sys||setfsgid(gid_t gid); } 140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ d247 1 a247 1 141 STD { int|linux_sys||getdents(int fd, \ d249 1 a249 1 142 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ d251 4 a254 4 struct timeval50 *timeout); } 143 NOARGS { int|sys||flock(int fd, int how); } 144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 145 NOARGS { int|sys||readv(int fd, struct iovec *iovp, \ d256 1 a256 1 146 NOARGS { int|sys||writev(int fd, struct iovec *iovp, \ d258 8 a265 8 147 NOARGS { pid_t|sys||getsid(pid_t pid); } 148 STD { int|linux_sys||fdatasync(int fd); } 149 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 150 NOARGS { int|sys||mlock(void *addr, size_t len); } 151 NOARGS { int|sys||munlock(void *addr, size_t len); } 152 NOARGS { int|sys||mlockall(int flags); } 153 NOARGS { int|sys||munlockall(void); } 154 STD { int|linux_sys||sched_setparam(pid_t pid, \ d267 1 a267 1 155 STD { int|linux_sys||sched_getparam(pid_t pid, \ d269 1 a269 1 156 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ d271 4 a274 4 157 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 158 STD { int|linux_sys||sched_yield(void); } 159 STD { int|linux_sys||sched_get_priority_max(int policy); } 160 STD { int|linux_sys||sched_get_priority_min(int policy); } d276 3 a278 4 162 STD { int|linux_sys||nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 163 STD { void *|linux_sys||mremap(void *old_address, \ d280 1 a280 1 164 STD { int|linux_sys||setresuid16(linux_uid16_t ruid, \ d282 1 a282 1 165 STD { int|linux_sys||getresuid16(linux_uid16_t *ruid, \ d286 1 a286 1 168 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ d289 1 a289 1 170 STD { int|linux_sys||setresgid16(linux_gid16_t rgid, \ d291 1 a291 1 171 STD { int|linux_sys||getresgid16(linux_gid16_t *rgid, \ d295 1 a295 1 ;173 STD { int|linux_sys||rt_sigreturn( \ d297 1 a297 1 174 STD { int|linux_sys||rt_sigaction(int signum, \ d301 1 a301 1 175 STD { int|linux_sys||rt_sigprocmask(int how, \ d305 1 a305 1 176 STD { int|linux_sys||rt_sigpending( \ d310 1 a310 1 178 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ d312 1 a312 1 179 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ d314 1 a314 1 180 STD { int|linux_sys||pread(int fd, char *buf, \ d316 1 a316 1 181 STD { int|linux_sys||pwrite(int fd, char *buf, \ d318 1 a318 1 182 STD { int|linux_sys||chown16(const char *path, \ d320 1 a320 1 183 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } d323 1 a323 1 186 STD { int|linux_sys||sigaltstack( \ d329 2 a330 2 190 NOARGS vfork { int|sys|14|vfork(void); } 191 STD { int|linux_sys||ugetrlimit(int which, \ d333 1 a333 1 192 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ d336 1 a336 1 193 STD { int|linux_sys||truncate64(const char *path, \ d338 1 a338 1 194 STD { int|linux_sys||ftruncate64(unsigned int fd, \ d340 1 a340 1 195 STD { int|linux_sys||stat64(const char *path, \ d342 1 a342 1 196 STD { int|linux_sys||lstat64(const char *path, \ d344 1 a344 1 197 STD { int|linux_sys||fstat64(int fd, \ d346 1 a346 1 198 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ d348 5 a352 5 199 NOARGS getuid32 { uid_t|sys||getuid(void); } 200 NOARGS getgid32 { gid_t|sys||getgid(void); } 201 NOARGS geteuid32 { uid_t|sys||geteuid(void); } 202 NOARGS getegid32 { gid_t|sys||getegid(void); } 203 NOARGS setreuid32 { int|sys||setreuid(uid_t ruid, \ d354 1 a354 1 204 NOARGS setregid32 { int|sys||setregid(gid_t rgid, \ d356 1 a356 1 205 NOARGS getgroups32 { int|sys||getgroups(u_int gidsetsize, \ d358 1 a358 1 206 NOARGS setgroups32 { int|sys||setgroups(u_int gidsetsize, \ d360 1 a360 1 207 NOARGS fchown32 { int|sys||__posix_fchown(int fd, uid_t uid, \ d362 1 a362 1 208 STD setresuid32 { int|linux_sys||setresuid(uid_t ruid, \ d364 1 a364 1 209 STD getresuid32 { int|linux_sys||getresuid(uid_t *ruid, \ d366 1 a366 1 210 STD setresgid32 { int|linux_sys||setresgid(gid_t rgid, \ d368 1 a368 1 211 STD getresgid32 { int|linux_sys||getresgid(gid_t *rgid, \ d370 1 a370 1 212 NOARGS chown32 { int|sys||__posix_chown(const char *path, \ d372 5 a376 5 213 NOARGS setuid32 { int|sys||setuid(uid_t uid); } 214 NOARGS setgid32 { int|sys||setgid(gid_t gid); } 215 NOARGS setfsuid32 { int|linux_sys||setfsuid(uid_t uid); } 216 NOARGS setfsgid32 { int|linux_sys||setfsgid(gid_t gid); } 217 STD { int|linux_sys||getdents64(int fd, \ d379 3 a381 3 219 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 220 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 221 STD { int|linux_sys||fcntl64(int fd, int cmd, void *arg); } d386 1 a386 1 226 STD { int|linux_sys||setxattr(char *path, char *name, \ d388 1 a388 1 227 STD { int|linux_sys||lsetxattr(char *path, char *name, \ d390 1 a390 1 228 STD { int|linux_sys||fsetxattr(int fd, char *name, \ d392 1 a392 1 229 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ d394 1 a394 1 230 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ d396 1 a396 1 231 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ d398 1 a398 1 232 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ d400 1 a400 1 233 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ d402 1 a402 1 234 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ d404 3 a406 3 235 STD { int|linux_sys||removexattr(char *path, char *name); } 236 STD { int|linux_sys||lremovexattr(char *path, char *name); } 237 STD { int|linux_sys||fremovexattr(int fd, char *name); } d417 1 a417 1 248 STD { int|linux_sys||exit_group(int error_code); } d431 1 a431 1 262 STD { int|linux_sys||clock_settime(clockid_t which, \ d433 1 a433 1 263 STD { int|linux_sys||clock_gettime(clockid_t which, \ d435 1 a435 1 264 STD { int|linux_sys||clock_getres(clockid_t which, \ d437 1 a437 1 265 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ d440 1 a440 1 266 STD { int|linux_sys||statfs64(const char *path, \ d442 1 a442 1 267 STD { int|linux_sys||fstatfs64(int fd, \ d569 2 a570 2 385 STD { int|linux_sys||breakpoint(void); } 386 STD { int|linux_sys||cacheflush(uintptr_t from, \ @ 1.35.2.2 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.35.2.1 2009/05/04 08:12:20 yamt Exp $ d309 1 d311 1 a311 1 linux_siginfo_t *uinfo); } @ 1.35.2.3 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.35.2.2 2009/06/20 07:20:15 yamt Exp $ d240 1 a240 1 136 STD { int|linux_sys||personality(unsigned long per); } @ 1.35.2.4 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.35.2.3 2010/03/11 15:03:15 yamt Exp $ d57 1 a57 1 1 STD { int|linux_sys||exit(int rval); } d220 1 a220 2 120 STD { int|linux_sys||clone(int flags, void *stack, \ void *parent_tidptr, void *tls, void *child_tidptr); } d383 1 a383 1 224 NOARGS { pid_t|linux_sys||gettid(void); } d406 1 a406 1 238 STD { int|linux_sys||tkill(int tid, int sig); } d408 3 a410 7 240 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ const struct linux_timespec *timeout, int *uaddr2, \ int val3); } 241 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 242 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } d422 3 a424 3 254 UNIMPL set_thread_area 255 UNIMPL get_thread_area 256 STD { int|linux_sys||set_tid_address(int *tid); } d443 1 a443 1 268 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } d449 92 a540 95 274 UNIMPL mq_open 275 UNIMPL mq_unlink 276 UNIMPL mq_timedsend 277 UNIMPL mq_timedreceive 278 UNIMPL mq_notify 279 UNIMPL mq_getsetattr 280 UNIMPL waitid 281 UNIMPL socket 282 UNIMPL bind 283 UNIMPL connect 284 UNIMPL listen 285 UNIMPL accept 286 UNIMPL getsockname 287 UNIMPL getpeername 288 UNIMPL socketpair 289 UNIMPL send 290 UNIMPL sendto 291 UNIMPL recv 292 UNIMPL recvfrom 293 UNIMPL shutdown 294 UNIMPL setsockopt 295 UNIMPL getsockopt 296 UNIMPL sendmsg 297 UNIMPL recvmsg 298 UNIMPL semop 299 UNIMPL semget 300 UNIMPL semctl 301 UNIMPL msgsnd 302 UNIMPL msgrcv 303 UNIMPL msgget 304 UNIMPL msgctl 305 UNIMPL shmat 306 UNIMPL shmdt 307 UNIMPL shmget 308 UNIMPL shmctl 309 UNIMPL add_key 310 UNIMPL request_key 311 UNIMPL keyctl 312 UNIMPL semtimedop 313 UNIMPL vserver 314 UNIMPL ioptio_set 315 UNIMPL ioptio_get 316 UNIMPL inotify_init 317 UNIMPL inotify_add_watch 318 UNIMPL inotify_rm_watch 319 UNIMPL mbind 320 UNIMPL get_mempolicy 321 UNIMPL set_mempolicy 322 UNIMPL openat 323 UNIMPL mkdirat 324 UNIMPL mknodat 325 UNIMPL fchownat 326 UNIMPL futimesat 327 UNIMPL fstatat64 328 UNIMPL unlinkat 329 UNIMPL renameat 330 UNIMPL linkat 331 UNIMPL symlinkat 332 UNIMPL readlinkat 333 UNIMPL fchmodat 334 UNIMPL faccessat 335 UNIMPL pselect6 336 UNIMPL ppoll 337 UNIMPL unshare 338 STD { int|linux_sys||set_robust_list( \ struct linux_robust_list_head *head, size_t len); } 339 STD { int|linux_sys||get_robust_list(int pid, \ struct linux_robust_list_head **head, \ size_t *len); } 340 UNIMPL splice 341 UNIMPL sync_file_range2 342 UNIMPL tee 343 UNIMPL vmsplice 344 UNIMPL move_pages 345 UNIMPL getcpu 346 UNIMPL epoll_wait 347 UNIMPL kexec_load 348 UNIMPL utimensat 349 UNIMPL signalfd 350 UNIMPL timerfd_create 351 UNIMPL eventfd 352 UNIMPL fallocate 353 UNIMPL timerfd_settime 354 UNIMPL timerfd_gettime 355 UNIMPL signalfd4 356 UNIMPL eventfd2 357 UNIMPL epoll_create1 358 UNIMPL dup3 359 UNIMPL pipe2 360 UNIMPL inotify_init1 361 UNIMPL preadv 362 UNIMPL pwritev 363 UNIMPL rt_tgsigqueueinfo 364 UNIMPL perf_counter_open 365 UNIMPL recvmmsg d570 1 a570 1 intptr_t to, int flags); } a572 1 389 STD { int|linux_sys||set_tls(void *tls); } @ 1.35.10.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.41 2009/01/17 22:28:52 njoly Exp $ d37 4 a46 1 #include a47 1 #include d58 6 a63 6 0 NOARGS { int|linux_sys||nosys(void); } 1 NOARGS { int|sys||exit(int rval); } 2 NOARGS { int|sys||fork(void); } 3 NOARGS { int|sys||read(int fd, char *buf, u_int nbyte); } 4 NOARGS { int|sys||write(int fd, char *buf, u_int nbyte); } 5 STD { int|linux_sys||open(const char *path, int flags, \ d65 2 a66 2 6 NOARGS { int|sys||close(int fd); } 7 STD { int|linux_sys||waitpid(int pid, int *status, \ d68 4 a71 4 8 STD { int|linux_sys||creat(const char *path, int mode); } 9 NOARGS { int|sys||link(const char *path, const char *link); } 10 STD { int|linux_sys||unlink(const char *path); } 11 NOARGS { int|sys||execve(const char *path, char **argp, \ d73 3 a75 3 12 NOARGS { int|sys||chdir(const char *path); } 13 STD { int|linux_sys||time(linux_time_t *t); } 14 STD { int|linux_sys||mknod(const char *path, int mode, \ d77 2 a78 2 15 NOARGS { int|sys||chmod(const char *path, int mode); } 16 STD { int|linux_sys||lchown16(const char *path, \ d82 1 a82 1 19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ d84 1 a84 1 20 NOARGS { pid_t|sys||getpid(void); } d87 4 a90 4 23 NOARGS { int|sys||setuid(uid_t uid); } 24 NOARGS { uid_t|sys||getuid(void); } 25 STD { int|linux_sys||stime(linux_time_t *t); } 26 STD { int|linux_sys||ptrace(int request, int pid, \ d92 1 a92 1 27 STD { int|linux_sys||alarm(unsigned int secs); } d94 2 a95 2 29 STD { int|linux_sys||pause(void); } 30 STD { int|linux_sys||utime(const char *path, \ d99 2 a100 2 33 NOARGS { int|sys||access(const char *path, int flags); } 34 STD { int|linux_sys||nice(int incr); } d102 3 a104 3 36 NOARGS { int|sys||sync(void); } 37 STD { int|linux_sys||kill(int pid, int signum); } 38 NOARGS { int|sys||__posix_rename(const char *from, \ d106 5 a110 5 39 NOARGS { int|sys||mkdir(const char *path, int mode); } 40 NOARGS { int|sys||rmdir(const char *path); } 41 NOARGS { int|sys||dup(u_int fd); } 42 STD { int|linux_sys||pipe(int *pfds); } 43 STD { int|linux_sys||times(struct times *tms); } d112 4 a115 4 45 STD { int|linux_sys||brk(char *nsize); } 46 NOARGS { int|sys||setgid(gid_t gid); } 47 NOARGS { gid_t|sys||getgid(void); } 48 STD { int|linux_sys||signal(int signum, \ d117 3 a119 3 49 NOARGS { uid_t|sys||geteuid(void); } 50 NOARGS { gid_t|sys||getegid(void); } 51 NOARGS { int|sys||acct(char *path); } d122 1 a122 1 54 STD { int|linux_sys||ioctl(int fd, u_long com, \ d124 1 a124 1 55 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } d126 1 a126 1 57 NOARGS { int|sys||setpgid(int pid, int pgid); } d128 1 a128 1 59 STD { int|linux_sys||oldolduname( \ d130 2 a131 2 60 NOARGS { int|sys||umask(int newmask); } 61 NOARGS { int|sys||chroot(char *path); } d133 5 a137 5 63 NOARGS { int|sys||dup2(u_int from, u_int to); } 64 NOARGS { pid_t|sys||getppid(void); } 65 NOARGS { int|sys||getpgrp(void); } 66 NOARGS { int|sys||setsid(void); } 67 STD { int|linux_sys||sigaction(int signum, \ d140 3 a142 3 68 STD { int|linux_sys||siggetmask(void); } 69 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 70 STD { int|linux_sys||setreuid16(linux_uid16_t ruid, \ d144 1 a144 1 71 STD { int|linux_sys||setregid16(linux_gid16_t rgid, \ d146 1 a146 1 72 STD { int|linux_sys||sigsuspend(void *restart, \ d148 2 a149 2 73 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 74 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ d151 1 a151 1 75 STD { int|linux_sys||setrlimit(u_int which, \ d153 1 a153 1 76 STD { int|linux_sys||getrlimit(u_int which, \ d155 2 a156 2 77 NOARGS { int|compat_50_sys||getrusage(int who, struct rusage50 *rusage); } 78 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ d158 1 a158 1 79 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ d160 1 a160 1 80 STD { int|linux_sys||getgroups16(int gidsetsize, \ d162 1 a162 1 81 STD { int|linux_sys||setgroups16(int gidsetsize, \ d164 3 a166 3 82 STD { int|linux_sys||oldselect(struct linux_oldselect *lsp); } 83 NOARGS { int|sys||symlink(const char *path, const char *to); } 84 NOARGS { int|compat_43_sys||lstat(const char *path, \ d168 1 a168 1 85 NOARGS { int|sys||readlink(const char *name, char *buf, \ d171 1 a171 1 86 STD { int|linux_sys||uselib(const char *path); } d175 2 a176 2 87 STD { int|linux_sys||swapon(char *name); } 88 STD { int|linux_sys||reboot(int magic1, int magic2, \ d178 1 a178 1 89 STD { int|linux_sys||readdir(int fd, void *dent, \ d180 3 a182 3 90 STD { int|linux_sys||old_mmap(struct linux_oldmmap *lmp); } 91 NOARGS { int|sys||munmap(void *addr, int len); } 92 NOARGS { int|compat_43_sys||truncate(const char *path, \ d184 3 a186 3 93 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 94 NOARGS { int|sys||fchmod(int fd, int mode); } 95 STD { int|linux_sys||fchown16(int fd, linux_uid16_t uid, \ d188 3 a190 3 96 STD { int|linux_sys||getpriority(int which, int who); } 97 NOARGS { int|sys||setpriority(int which, int who, int prio); } 98 NOARGS { int|sys||profil(void *samples, u_int size, \ d192 1 a192 1 99 STD { int|linux_sys||statfs(const char *path, \ d194 1 a194 1 100 STD { int|linux_sys||fstatfs(int fd, \ d197 1 a197 1 102 STD { int|linux_sys||socketcall(int what, void *args); } d199 5 a203 6 104 NOARGS { int|compat_50_sys||setitimer(u_int which, \ struct itimerval50 *itv, \ struct itimerval50 *oitv); } 105 NOARGS { int|compat_50_sys||getitimer(u_int which, \ struct itimerval50 *itv); } 106 STD { int|linux_sys||stat(const char *path, \ d205 1 a205 1 107 STD { int|linux_sys||lstat(const char *path, \ d207 2 a208 2 108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 109 STD { int|linux_sys||olduname(struct linux_oldutsname *up); } d213 5 a217 5 114 STD { int|linux_sys||wait4(int pid, int *status, \ int options, struct rusage50 *rusage); } 115 STD { int|linux_sys||swapoff(const char *path); } 116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 117 STD { int|linux_sys||ipc(int what, int a1, int a2, int a3, \ d219 4 a222 4 118 NOARGS { int|sys||fsync(int fd); } 119 STD { int|linux_sys||sigreturn(struct linux_sigcontext *scp); } 120 STD { int|linux_sys||clone(int flags, void *stack); } 121 STD { int|linux_sys||setdomainname(char *domainname, \ d224 1 a224 1 122 STD { int|linux_sys||uname(struct linux_utsname *up); } d227 1 a227 1 125 STD { int|linux_sys||mprotect(const void *start, \ d229 1 a229 1 126 STD { int|linux_sys||sigprocmask(int how, \ d237 2 a238 2 132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 133 NOARGS { int|sys||fchdir(int fd); } d241 1 a241 1 136 STD { int|linux_sys||personality(int per); } d243 3 a245 3 138 STD { int|linux_sys||setfsuid(uid_t uid); } 139 STD { int|linux_sys||setfsgid(gid_t gid); } 140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ d247 1 a247 1 141 STD { int|linux_sys||getdents(int fd, \ d249 1 a249 1 142 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ d251 4 a254 4 struct timeval50 *timeout); } 143 NOARGS { int|sys||flock(int fd, int how); } 144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 145 NOARGS { int|sys||readv(int fd, struct iovec *iovp, \ d256 1 a256 1 146 NOARGS { int|sys||writev(int fd, struct iovec *iovp, \ d258 8 a265 8 147 NOARGS { pid_t|sys||getsid(pid_t pid); } 148 STD { int|linux_sys||fdatasync(int fd); } 149 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 150 NOARGS { int|sys||mlock(void *addr, size_t len); } 151 NOARGS { int|sys||munlock(void *addr, size_t len); } 152 NOARGS { int|sys||mlockall(int flags); } 153 NOARGS { int|sys||munlockall(void); } 154 STD { int|linux_sys||sched_setparam(pid_t pid, \ d267 1 a267 1 155 STD { int|linux_sys||sched_getparam(pid_t pid, \ d269 1 a269 1 156 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ d271 4 a274 4 157 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 158 STD { int|linux_sys||sched_yield(void); } 159 STD { int|linux_sys||sched_get_priority_max(int policy); } 160 STD { int|linux_sys||sched_get_priority_min(int policy); } d276 3 a278 4 162 STD { int|linux_sys||nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 163 STD { void *|linux_sys||mremap(void *old_address, \ d280 1 a280 1 164 STD { int|linux_sys||setresuid16(linux_uid16_t ruid, \ d282 1 a282 1 165 STD { int|linux_sys||getresuid16(linux_uid16_t *ruid, \ d286 1 a286 1 168 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ d289 1 a289 1 170 STD { int|linux_sys||setresgid16(linux_gid16_t rgid, \ d291 1 a291 1 171 STD { int|linux_sys||getresgid16(linux_gid16_t *rgid, \ d295 1 a295 1 ;173 STD { int|linux_sys||rt_sigreturn( \ d297 1 a297 1 174 STD { int|linux_sys||rt_sigaction(int signum, \ d301 1 a301 1 175 STD { int|linux_sys||rt_sigprocmask(int how, \ d305 1 a305 1 176 STD { int|linux_sys||rt_sigpending( \ d310 1 a310 1 178 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ d312 1 a312 1 179 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ d314 1 a314 1 180 STD { int|linux_sys||pread(int fd, char *buf, \ d316 1 a316 1 181 STD { int|linux_sys||pwrite(int fd, char *buf, \ d318 1 a318 1 182 STD { int|linux_sys||chown16(const char *path, \ d320 1 a320 1 183 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } d323 1 a323 1 186 STD { int|linux_sys||sigaltstack( \ d329 2 a330 2 190 NOARGS vfork { int|sys|14|vfork(void); } 191 STD { int|linux_sys||ugetrlimit(int which, \ d333 1 a333 1 192 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ d336 1 a336 1 193 STD { int|linux_sys||truncate64(const char *path, \ d338 1 a338 1 194 STD { int|linux_sys||ftruncate64(unsigned int fd, \ d340 1 a340 1 195 STD { int|linux_sys||stat64(const char *path, \ d342 1 a342 1 196 STD { int|linux_sys||lstat64(const char *path, \ d344 1 a344 1 197 STD { int|linux_sys||fstat64(int fd, \ d346 1 a346 1 198 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ d348 5 a352 5 199 NOARGS getuid32 { uid_t|sys||getuid(void); } 200 NOARGS getgid32 { gid_t|sys||getgid(void); } 201 NOARGS geteuid32 { uid_t|sys||geteuid(void); } 202 NOARGS getegid32 { gid_t|sys||getegid(void); } 203 NOARGS setreuid32 { int|sys||setreuid(uid_t ruid, \ d354 1 a354 1 204 NOARGS setregid32 { int|sys||setregid(gid_t rgid, \ d356 1 a356 1 205 NOARGS getgroups32 { int|sys||getgroups(u_int gidsetsize, \ d358 1 a358 1 206 NOARGS setgroups32 { int|sys||setgroups(u_int gidsetsize, \ d360 1 a360 1 207 NOARGS fchown32 { int|sys||__posix_fchown(int fd, uid_t uid, \ d362 1 a362 1 208 STD setresuid32 { int|linux_sys||setresuid(uid_t ruid, \ d364 1 a364 1 209 STD getresuid32 { int|linux_sys||getresuid(uid_t *ruid, \ d366 1 a366 1 210 STD setresgid32 { int|linux_sys||setresgid(gid_t rgid, \ d368 1 a368 1 211 STD getresgid32 { int|linux_sys||getresgid(gid_t *rgid, \ d370 1 a370 1 212 NOARGS chown32 { int|sys||__posix_chown(const char *path, \ d372 5 a376 5 213 NOARGS setuid32 { int|sys||setuid(uid_t uid); } 214 NOARGS setgid32 { int|sys||setgid(gid_t gid); } 215 NOARGS setfsuid32 { int|linux_sys||setfsuid(uid_t uid); } 216 NOARGS setfsgid32 { int|linux_sys||setfsgid(gid_t gid); } 217 STD { int|linux_sys||getdents64(int fd, \ d379 3 a381 3 219 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 220 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 221 STD { int|linux_sys||fcntl64(int fd, int cmd, void *arg); } d386 1 a386 1 226 STD { int|linux_sys||setxattr(char *path, char *name, \ d388 1 a388 1 227 STD { int|linux_sys||lsetxattr(char *path, char *name, \ d390 1 a390 1 228 STD { int|linux_sys||fsetxattr(int fd, char *name, \ d392 1 a392 1 229 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ d394 1 a394 1 230 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ d396 1 a396 1 231 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ d398 1 a398 1 232 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ d400 1 a400 1 233 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ d402 1 a402 1 234 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ d404 3 a406 3 235 STD { int|linux_sys||removexattr(char *path, char *name); } 236 STD { int|linux_sys||lremovexattr(char *path, char *name); } 237 STD { int|linux_sys||fremovexattr(int fd, char *name); } d417 1 a417 1 248 STD { int|linux_sys||exit_group(int error_code); } d431 1 a431 1 262 STD { int|linux_sys||clock_settime(clockid_t which, \ d433 1 a433 1 263 STD { int|linux_sys||clock_gettime(clockid_t which, \ d435 1 a435 1 264 STD { int|linux_sys||clock_getres(clockid_t which, \ d437 1 a437 1 265 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ d440 1 a440 1 266 STD { int|linux_sys||statfs64(const char *path, \ d442 1 a442 1 267 STD { int|linux_sys||fstatfs64(int fd, \ d569 2 a570 2 385 STD { int|linux_sys||breakpoint(void); } 386 STD { int|linux_sys||cacheflush(uintptr_t from, \ @ 1.35.8.1 log @Update haad-dm branch to haad-dm-base2. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.37 2008/11/19 18:36:03 ad Exp $ d37 4 d276 2 a277 3 162 STD { int linux_sys_nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } @ 1.35.12.1 log @Pull up following revision(s) (requested by njoly in ticket #81): sys/compat/linux/arch/mips/syscalls.master: revision 1.30 sys/compat/linux/arch/m68k/syscalls.master: revision 1.63 sys/compat/linux32/arch/amd64/syscalls.master: revision 1.39 sys/compat/linux/arch/alpha/syscalls.master: revision 1.63 sys/compat/linux/arch/powerpc/syscalls.master: revision 1.38 sys/compat/linux32/common/linux32_time.c: revision 1.22 sys/compat/linux/arch/amd64/syscalls.master: revision 1.25 sys/compat/linux/arch/i386/syscalls.master: revision 1.94 sys/compat/linux/arch/arm/syscalls.master: revision 1.36 sys/compat/linux/common/linux_time.c: revision 1.26 Fix nanosleep(2) on 64-bit archs. Do not call native nanosleep syscall, but rather a modified version the will take care of `struct timespec' conversions. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.35 2008/04/23 14:07:49 ad Exp $ d276 2 a277 3 162 STD { int linux_sys_nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } @ 1.35.4.1 log @Initial checkin of re-adding SA. Everything except kern_sa.c compiles in GENERIC for i386. This is still a work-in-progress, but this checkin covers most of the mechanical work (changing signalling to be able to accomidate SA's process-wide signalling and re-adding includes of sys/sa.h and savar.h). Subsequent changes will be much more interesting. Also, kern_sa.c has received partial cleanup. There's still more to do, though. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.35 2008/04/23 14:07:49 ad Exp $ a45 1 #include @ 1.35.4.2 log @Per discussion with ad, remove most of the #include lines as they were including sa.h just for the type(s) needed for syscallargs.h. Instead, create a new file, sys/satypes.h, which contains just the types needed for syscallargs.h. Yes, there's only one now, but that may change and it's probably more likely to change if it'd be difficult to handle. :-) Per discussion with matt at n dot o, add an include of satypes.h to sigtypes.h. Upcall handlers are kinda signal handlers, and signalling is the header file that's already included for syscallargs.h that closest matches SA. This shaves about 3000 lines off of the diff of the branch relative to the base. That also represents about 18% of the total before this checkin. I think this reduction is very good thing. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.35.4.1 2008/05/10 23:48:52 wrstuden Exp $ d46 1 @ 1.34 log @Cleanup. Kill linux_sys_msync and use sys___msync13 instead. No functional changes expected. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.33 2008/01/15 22:38:34 njoly Exp $ d84 1 a84 1 20 NOARGS MPSAFE { pid_t sys_getpid(void); } @ 1.34.2.1 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.34 2008/04/04 12:38:52 njoly Exp $ d84 1 a84 1 20 NOARGS { pid_t sys_getpid(void); } @ 1.33 log @compat linux (and linux32) uid16 functions cleanup and fixes. - Move uid16 functions to their own file linux_uid16.c, included by needed archs (arm, i386 and m68k). - Add new MI types linux_{u,g}id16_t. - Add macros to handle linux_uid16_t and uid_t conversions. - Add linux_sys_getres{uid,gid}16 syscalls, to fix an overflow with bad sizes given to copyout when linux_sys_getres{uid,gid} are used. - Update arm syscall table to use more uid16 functions. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.32 2007/12/24 14:17:17 njoly Exp $ d253 1 a253 1 144 STD { int linux_sys_msync(void *addr, int len, int fl); } @ 1.33.6.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD$ d84 1 a84 1 20 NOARGS { pid_t sys_getpid(void); } d253 1 a253 1 144 NOARGS { int sys___msync13(void *addr, size_t len, int flags); } @ 1.33.6.2 log @Sync with HEAD. @ text @d37 4 a46 1 #include a47 1 #include d58 6 a63 6 0 NOARGS { int|linux_sys||nosys(void); } 1 NOARGS { int|sys||exit(int rval); } 2 NOARGS { int|sys||fork(void); } 3 NOARGS { int|sys||read(int fd, char *buf, u_int nbyte); } 4 NOARGS { int|sys||write(int fd, char *buf, u_int nbyte); } 5 STD { int|linux_sys||open(const char *path, int flags, \ d65 2 a66 2 6 NOARGS { int|sys||close(int fd); } 7 STD { int|linux_sys||waitpid(int pid, int *status, \ d68 4 a71 4 8 STD { int|linux_sys||creat(const char *path, int mode); } 9 NOARGS { int|sys||link(const char *path, const char *link); } 10 STD { int|linux_sys||unlink(const char *path); } 11 NOARGS { int|sys||execve(const char *path, char **argp, \ d73 3 a75 3 12 NOARGS { int|sys||chdir(const char *path); } 13 STD { int|linux_sys||time(linux_time_t *t); } 14 STD { int|linux_sys||mknod(const char *path, int mode, \ d77 2 a78 2 15 NOARGS { int|sys||chmod(const char *path, int mode); } 16 STD { int|linux_sys||lchown16(const char *path, \ d82 1 a82 1 19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ d84 1 a84 1 20 NOARGS { pid_t|sys||getpid(void); } d87 4 a90 4 23 NOARGS { int|sys||setuid(uid_t uid); } 24 NOARGS { uid_t|sys||getuid(void); } 25 STD { int|linux_sys||stime(linux_time_t *t); } 26 STD { int|linux_sys||ptrace(int request, int pid, \ d92 1 a92 1 27 STD { int|linux_sys||alarm(unsigned int secs); } d94 2 a95 2 29 STD { int|linux_sys||pause(void); } 30 STD { int|linux_sys||utime(const char *path, \ d99 2 a100 2 33 NOARGS { int|sys||access(const char *path, int flags); } 34 STD { int|linux_sys||nice(int incr); } d102 3 a104 3 36 NOARGS { int|sys||sync(void); } 37 STD { int|linux_sys||kill(int pid, int signum); } 38 NOARGS { int|sys||__posix_rename(const char *from, \ d106 5 a110 5 39 NOARGS { int|sys||mkdir(const char *path, int mode); } 40 NOARGS { int|sys||rmdir(const char *path); } 41 NOARGS { int|sys||dup(u_int fd); } 42 STD { int|linux_sys||pipe(int *pfds); } 43 STD { int|linux_sys||times(struct times *tms); } d112 4 a115 4 45 STD { int|linux_sys||brk(char *nsize); } 46 NOARGS { int|sys||setgid(gid_t gid); } 47 NOARGS { gid_t|sys||getgid(void); } 48 STD { int|linux_sys||signal(int signum, \ d117 3 a119 3 49 NOARGS { uid_t|sys||geteuid(void); } 50 NOARGS { gid_t|sys||getegid(void); } 51 NOARGS { int|sys||acct(char *path); } d122 1 a122 1 54 STD { int|linux_sys||ioctl(int fd, u_long com, \ d124 1 a124 1 55 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } d126 1 a126 1 57 NOARGS { int|sys||setpgid(int pid, int pgid); } d128 1 a128 1 59 STD { int|linux_sys||oldolduname( \ d130 2 a131 2 60 NOARGS { int|sys||umask(int newmask); } 61 NOARGS { int|sys||chroot(char *path); } d133 5 a137 5 63 NOARGS { int|sys||dup2(u_int from, u_int to); } 64 NOARGS { pid_t|sys||getppid(void); } 65 NOARGS { int|sys||getpgrp(void); } 66 NOARGS { int|sys||setsid(void); } 67 STD { int|linux_sys||sigaction(int signum, \ d140 3 a142 3 68 STD { int|linux_sys||siggetmask(void); } 69 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 70 STD { int|linux_sys||setreuid16(linux_uid16_t ruid, \ d144 1 a144 1 71 STD { int|linux_sys||setregid16(linux_gid16_t rgid, \ d146 1 a146 1 72 STD { int|linux_sys||sigsuspend(void *restart, \ d148 2 a149 2 73 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 74 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ d151 1 a151 1 75 STD { int|linux_sys||setrlimit(u_int which, \ d153 1 a153 1 76 STD { int|linux_sys||getrlimit(u_int which, \ d155 2 a156 2 77 NOARGS { int|compat_50_sys||getrusage(int who, struct rusage50 *rusage); } 78 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ d158 1 a158 1 79 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ d160 1 a160 1 80 STD { int|linux_sys||getgroups16(int gidsetsize, \ d162 1 a162 1 81 STD { int|linux_sys||setgroups16(int gidsetsize, \ d164 3 a166 3 82 STD { int|linux_sys||oldselect(struct linux_oldselect *lsp); } 83 NOARGS { int|sys||symlink(const char *path, const char *to); } 84 NOARGS { int|compat_43_sys||lstat(const char *path, \ d168 1 a168 1 85 NOARGS { int|sys||readlink(const char *name, char *buf, \ d171 1 a171 1 86 STD { int|linux_sys||uselib(const char *path); } d175 2 a176 2 87 STD { int|linux_sys||swapon(char *name); } 88 STD { int|linux_sys||reboot(int magic1, int magic2, \ d178 1 a178 1 89 STD { int|linux_sys||readdir(int fd, void *dent, \ d180 3 a182 3 90 STD { int|linux_sys||old_mmap(struct linux_oldmmap *lmp); } 91 NOARGS { int|sys||munmap(void *addr, int len); } 92 NOARGS { int|compat_43_sys||truncate(const char *path, \ d184 3 a186 3 93 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 94 NOARGS { int|sys||fchmod(int fd, int mode); } 95 STD { int|linux_sys||fchown16(int fd, linux_uid16_t uid, \ d188 3 a190 3 96 STD { int|linux_sys||getpriority(int which, int who); } 97 NOARGS { int|sys||setpriority(int which, int who, int prio); } 98 NOARGS { int|sys||profil(void *samples, u_int size, \ d192 1 a192 1 99 STD { int|linux_sys||statfs(const char *path, \ d194 1 a194 1 100 STD { int|linux_sys||fstatfs(int fd, \ d197 1 a197 1 102 STD { int|linux_sys||socketcall(int what, void *args); } d199 5 a203 6 104 NOARGS { int|compat_50_sys||setitimer(u_int which, \ struct itimerval50 *itv, \ struct itimerval50 *oitv); } 105 NOARGS { int|compat_50_sys||getitimer(u_int which, \ struct itimerval50 *itv); } 106 STD { int|linux_sys||stat(const char *path, \ d205 1 a205 1 107 STD { int|linux_sys||lstat(const char *path, \ d207 2 a208 2 108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 109 STD { int|linux_sys||olduname(struct linux_oldutsname *up); } d213 1 a213 1 114 STD { int|linux_sys||wait4(int pid, int *status, \ d215 3 a217 3 115 STD { int|linux_sys||swapoff(const char *path); } 116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 117 STD { int|linux_sys||ipc(int what, int a1, int a2, int a3, \ d219 4 a222 4 118 NOARGS { int|sys||fsync(int fd); } 119 STD { int|linux_sys||sigreturn(struct linux_sigcontext *scp); } 120 STD { int|linux_sys||clone(int flags, void *stack); } 121 STD { int|linux_sys||setdomainname(char *domainname, \ d224 1 a224 1 122 STD { int|linux_sys||uname(struct linux_utsname *up); } d227 1 a227 1 125 STD { int|linux_sys||mprotect(const void *start, \ d229 1 a229 1 126 STD { int|linux_sys||sigprocmask(int how, \ d237 2 a238 2 132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 133 NOARGS { int|sys||fchdir(int fd); } d241 1 a241 1 136 STD { int|linux_sys||personality(int per); } d243 3 a245 3 138 STD { int|linux_sys||setfsuid(uid_t uid); } 139 STD { int|linux_sys||setfsgid(gid_t gid); } 140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ d247 1 a247 1 141 STD { int|linux_sys||getdents(int fd, \ d249 1 a249 1 142 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ d251 4 a254 4 struct timeval50 *timeout); } 143 NOARGS { int|sys||flock(int fd, int how); } 144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 145 NOARGS { int|sys||readv(int fd, struct iovec *iovp, \ d256 1 a256 1 146 NOARGS { int|sys||writev(int fd, struct iovec *iovp, \ d258 8 a265 8 147 NOARGS { pid_t|sys||getsid(pid_t pid); } 148 STD { int|linux_sys||fdatasync(int fd); } 149 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 150 NOARGS { int|sys||mlock(void *addr, size_t len); } 151 NOARGS { int|sys||munlock(void *addr, size_t len); } 152 NOARGS { int|sys||mlockall(int flags); } 153 NOARGS { int|sys||munlockall(void); } 154 STD { int|linux_sys||sched_setparam(pid_t pid, \ d267 1 a267 1 155 STD { int|linux_sys||sched_getparam(pid_t pid, \ d269 1 a269 1 156 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ d271 4 a274 4 157 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 158 STD { int|linux_sys||sched_yield(void); } 159 STD { int|linux_sys||sched_get_priority_max(int policy); } 160 STD { int|linux_sys||sched_get_priority_min(int policy); } d276 3 a278 4 162 STD { int|linux_sys||nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 163 STD { void *|linux_sys||mremap(void *old_address, \ d280 1 a280 1 164 STD { int|linux_sys||setresuid16(linux_uid16_t ruid, \ d282 1 a282 1 165 STD { int|linux_sys||getresuid16(linux_uid16_t *ruid, \ d286 1 a286 1 168 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ d289 1 a289 1 170 STD { int|linux_sys||setresgid16(linux_gid16_t rgid, \ d291 1 a291 1 171 STD { int|linux_sys||getresgid16(linux_gid16_t *rgid, \ d295 1 a295 1 ;173 STD { int|linux_sys||rt_sigreturn( \ d297 1 a297 1 174 STD { int|linux_sys||rt_sigaction(int signum, \ d301 1 a301 1 175 STD { int|linux_sys||rt_sigprocmask(int how, \ d305 1 a305 1 176 STD { int|linux_sys||rt_sigpending( \ d310 1 a310 1 178 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ d312 1 a312 1 179 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ d314 1 a314 1 180 STD { int|linux_sys||pread(int fd, char *buf, \ d316 1 a316 1 181 STD { int|linux_sys||pwrite(int fd, char *buf, \ d318 1 a318 1 182 STD { int|linux_sys||chown16(const char *path, \ d320 1 a320 1 183 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } d323 1 a323 1 186 STD { int|linux_sys||sigaltstack( \ d329 2 a330 2 190 NOARGS vfork { int|sys|14|vfork(void); } 191 STD { int|linux_sys||ugetrlimit(int which, \ d333 1 a333 1 192 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ d336 1 a336 1 193 STD { int|linux_sys||truncate64(const char *path, \ d338 1 a338 1 194 STD { int|linux_sys||ftruncate64(unsigned int fd, \ d340 1 a340 1 195 STD { int|linux_sys||stat64(const char *path, \ d342 1 a342 1 196 STD { int|linux_sys||lstat64(const char *path, \ d344 1 a344 1 197 STD { int|linux_sys||fstat64(int fd, \ d346 1 a346 1 198 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ d348 5 a352 5 199 NOARGS getuid32 { uid_t|sys||getuid(void); } 200 NOARGS getgid32 { gid_t|sys||getgid(void); } 201 NOARGS geteuid32 { uid_t|sys||geteuid(void); } 202 NOARGS getegid32 { gid_t|sys||getegid(void); } 203 NOARGS setreuid32 { int|sys||setreuid(uid_t ruid, \ d354 1 a354 1 204 NOARGS setregid32 { int|sys||setregid(gid_t rgid, \ d356 1 a356 1 205 NOARGS getgroups32 { int|sys||getgroups(u_int gidsetsize, \ d358 1 a358 1 206 NOARGS setgroups32 { int|sys||setgroups(u_int gidsetsize, \ d360 1 a360 1 207 NOARGS fchown32 { int|sys||__posix_fchown(int fd, uid_t uid, \ d362 1 a362 1 208 STD setresuid32 { int|linux_sys||setresuid(uid_t ruid, \ d364 1 a364 1 209 STD getresuid32 { int|linux_sys||getresuid(uid_t *ruid, \ d366 1 a366 1 210 STD setresgid32 { int|linux_sys||setresgid(gid_t rgid, \ d368 1 a368 1 211 STD getresgid32 { int|linux_sys||getresgid(gid_t *rgid, \ d370 1 a370 1 212 NOARGS chown32 { int|sys||__posix_chown(const char *path, \ d372 5 a376 5 213 NOARGS setuid32 { int|sys||setuid(uid_t uid); } 214 NOARGS setgid32 { int|sys||setgid(gid_t gid); } 215 NOARGS setfsuid32 { int|linux_sys||setfsuid(uid_t uid); } 216 NOARGS setfsgid32 { int|linux_sys||setfsgid(gid_t gid); } 217 STD { int|linux_sys||getdents64(int fd, \ d379 3 a381 3 219 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 220 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 221 STD { int|linux_sys||fcntl64(int fd, int cmd, void *arg); } d386 1 a386 1 226 STD { int|linux_sys||setxattr(char *path, char *name, \ d388 1 a388 1 227 STD { int|linux_sys||lsetxattr(char *path, char *name, \ d390 1 a390 1 228 STD { int|linux_sys||fsetxattr(int fd, char *name, \ d392 1 a392 1 229 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ d394 1 a394 1 230 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ d396 1 a396 1 231 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ d398 1 a398 1 232 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ d400 1 a400 1 233 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ d402 1 a402 1 234 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ d404 3 a406 3 235 STD { int|linux_sys||removexattr(char *path, char *name); } 236 STD { int|linux_sys||lremovexattr(char *path, char *name); } 237 STD { int|linux_sys||fremovexattr(int fd, char *name); } d417 1 a417 1 248 STD { int|linux_sys||exit_group(int error_code); } d431 1 a431 1 262 STD { int|linux_sys||clock_settime(clockid_t which, \ d433 1 a433 1 263 STD { int|linux_sys||clock_gettime(clockid_t which, \ d435 1 a435 1 264 STD { int|linux_sys||clock_getres(clockid_t which, \ d437 1 a437 1 265 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ d440 1 a440 1 266 STD { int|linux_sys||statfs64(const char *path, \ d442 1 a442 1 267 STD { int|linux_sys||fstatfs64(int fd, \ d569 2 a570 2 385 STD { int|linux_sys||breakpoint(void); } 386 STD { int|linux_sys||cacheflush(uintptr_t from, \ @ 1.32 log @Kill unneeded linux_sys_getpgid and use native sys_getpgid instead. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.31 2007/12/21 22:26:21 njoly Exp $ d78 2 a79 2 16 STD { int linux_sys_lchown16(const char *path, int uid, \ int gid); } d142 4 a145 2 70 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); } 71 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); } d160 4 a163 2 80 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); } 81 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); } d186 2 a187 1 95 STD { int linux_sys_fchown16(int fd, int uid, int gid); } d280 4 a283 4 164 STD { int linux_sys_setresuid(uid_t ruid, uid_t euid, \ uid_t suid); } 165 STD { int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \ uid_t *suid); } d289 4 a292 4 170 STD { int linux_sys_setresgid(gid_t rgid, gid_t egid, \ gid_t sgid); } 171 STD { int linux_sys_getresgid(gid_t *rgid, gid_t *egid, \ gid_t *sgid); } d318 2 a319 2 182 STD { int linux_sys_chown16(const char *path, int uid, \ int gid); } d362 1 a362 1 208 NOARGS setresuid32 { int linux_sys_setresuid(uid_t ruid, \ d364 1 a364 1 209 NOARGS getresuid32 { int linux_sys_getresuid(uid_t *ruid, \ d366 1 a366 1 210 NOARGS setresgid32 { int linux_sys_setresgid(gid_t rgid, \ d368 1 a368 1 211 NOARGS getresgid32 { int linux_sys_getresgid(gid_t *rgid, \ @ 1.31 log @- Fix setfsuid to return uid on success. - Replace getfsuid, which never existed on Linux, by correct setfsgid syscall. ok by christos and dsl. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.30 2007/12/20 23:02:52 dsl Exp $ d232 1 a232 1 132 STD { int linux_sys_getpgid(int pid); } @ 1.30 log @Convert all the system call entry points from: int foo(struct lwp *l, void *v, register_t *retval) to: int foo(struct lwp *l, const struct foo_args *uap, register_t *retval) Fixup compat code to not write into 'uap' and (in some cases) to actually pass a correctly formatted 'uap' structure with the right name to the next routine. A few 'compat' routines that just call standard ones have been deleted. All the 'compat' code compiles (along with the kernels required to test build it). 98% done by automated scripts. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.29 2007/11/16 12:51:55 njoly Exp $ d239 1 a239 1 139 NOARGS { int linux_sys_getfsuid(void); } d370 1 a370 1 216 NOARGS getfsuid32 { int linux_sys_getfsuid(void); } @ 1.29 log @Cleanup. Remove a few linux syscalls definitions, now identical to native ones (with stackgap and ALT_CHECK_xxx removal). No functional changes expected. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.28 2007/03/04 06:01:19 christos Exp $ d327 1 @ 1.29.6.1 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD$ d232 1 a232 1 132 NOARGS { pid_t sys_getpgid(pid_t pid); } d239 1 a239 1 139 STD { int linux_sys_setfsgid(gid_t gid); } a326 1 #define linux_sys_mmap2_args linux_sys_mmap_args d369 1 a369 1 216 NOARGS setfsgid32 { int linux_sys_setfsgid(gid_t gid); } @ 1.29.6.2 log @Sync with HEAD @ text @d78 2 a79 2 16 STD { int linux_sys_lchown16(const char *path, \ linux_uid16_t uid, linux_gid16_t gid); } d142 2 a143 4 70 STD { int linux_sys_setreuid16(linux_uid16_t ruid, \ linux_uid16_t euid); } 71 STD { int linux_sys_setregid16(linux_gid16_t rgid, \ linux_gid16_t egid); } d158 2 a159 4 80 STD { int linux_sys_getgroups16(int gidsetsize, \ linux_gid16_t *gidset); } 81 STD { int linux_sys_setgroups16(int gidsetsize, \ linux_gid16_t *gidset); } d182 1 a182 2 95 STD { int linux_sys_fchown16(int fd, linux_uid16_t uid, \ linux_gid16_t gid); } d275 4 a278 4 164 STD { int linux_sys_setresuid16(linux_uid16_t ruid, \ linux_uid16_t euid, linux_uid16_t suid); } 165 STD { int linux_sys_getresuid16(linux_uid16_t *ruid, \ linux_uid16_t *euid, linux_uid16_t *suid); } d284 4 a287 4 170 STD { int linux_sys_setresgid16(linux_gid16_t rgid, \ linux_gid16_t egid, linux_gid16_t sgid); } 171 STD { int linux_sys_getresgid16(linux_gid16_t *rgid, \ linux_gid16_t *egid, linux_gid16_t *sgid); } d313 2 a314 2 182 STD { int linux_sys_chown16(const char *path, \ linux_uid16_t uid, linux_gid16_t gid); } d357 1 a357 1 208 STD setresuid32 { int linux_sys_setresuid(uid_t ruid, \ d359 1 a359 1 209 STD getresuid32 { int linux_sys_getresuid(uid_t *ruid, \ d361 1 a361 1 210 STD setresgid32 { int linux_sys_setresgid(gid_t rgid, \ d363 1 a363 1 211 STD getresgid32 { int linux_sys_getresgid(gid_t *rgid, \ @ 1.29.2.1 log @Sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.32 2007/12/24 14:17:17 njoly Exp $ d232 1 a232 1 132 NOARGS { pid_t sys_getpgid(pid_t pid); } d239 1 a239 1 139 STD { int linux_sys_setfsgid(gid_t gid); } a326 1 #define linux_sys_mmap2_args linux_sys_mmap_args d369 1 a369 1 216 NOARGS setfsgid32 { int linux_sys_setfsgid(gid_t gid); } @ 1.28 log @Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.27 2007/02/09 21:55:18 ad Exp $ d69 1 a69 2 9 STD { int linux_sys_link(const char *path, const \ char *link); } d71 1 a71 1 11 STD { int linux_sys_execve(const char *path, char **argp, \ d73 1 a73 1 12 STD { int linux_sys_chdir(const char *path); } d77 1 a77 1 15 STD { int linux_sys_chmod(const char *path, int mode); } d99 1 a99 1 33 STD { int linux_sys_access(const char *path, int flags); } d104 1 a104 1 38 STD { int linux_sys_rename(const char *from, \ d106 2 a107 2 39 STD { int linux_sys_mkdir(const char *path, int mode); } 40 STD { int linux_sys_rmdir(const char *path); } d161 1 a161 2 83 STD { int linux_sys_symlink(const char *path, \ const char *to); } d164 1 a164 1 85 STD { int linux_sys_readlink(const char *name, char *buf, \ d178 1 a178 1 92 STD { int linux_sys_truncate(const char *path, \ d340 1 a340 1 198 STD { int linux_sys_lchown(const char *path, uid_t uid, \ d364 1 a364 1 212 STD chown32 { int linux_sys_chown(const char *path, \ @ 1.28.16.1 log @sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.28 2007/03/04 06:01:19 christos Exp $ d69 2 a70 1 9 NOARGS { int sys_link(const char *path, const char *link); } d72 1 a72 1 11 NOARGS { int sys_execve(const char *path, char **argp, \ d74 1 a74 1 12 NOARGS { int sys_chdir(const char *path); } d78 1 a78 1 15 NOARGS { int sys_chmod(const char *path, int mode); } d100 1 a100 1 33 NOARGS { int sys_access(const char *path, int flags); } d105 1 a105 1 38 NOARGS { int sys___posix_rename(const char *from, \ d107 2 a108 2 39 NOARGS { int sys_mkdir(const char *path, int mode); } 40 NOARGS { int sys_rmdir(const char *path); } d162 2 a163 1 83 NOARGS { int sys_symlink(const char *path, const char *to); } d166 1 a166 1 85 NOARGS { int sys_readlink(const char *name, char *buf, \ d180 1 a180 1 92 NOARGS { int compat_43_sys_truncate(const char *path, \ d234 1 a234 1 132 NOARGS { pid_t sys_getpgid(pid_t pid); } d241 1 a241 1 139 STD { int linux_sys_setfsgid(gid_t gid); } a328 1 #define linux_sys_mmap2_args linux_sys_mmap_args d342 1 a342 1 198 NOARGS { int sys___posix_lchown(const char *path, uid_t uid, \ d366 1 a366 1 212 NOARGS chown32 { int sys___posix_chown(const char *path, \ d371 1 a371 1 216 NOARGS setfsgid32 { int linux_sys_setfsgid(gid_t gid); } @ 1.28.16.2 log @sync with HEAD @ text @d1 1 a1 1 syscalls.master,v 1.28.16.1 2008/01/09 01:50:59 matt Exp d78 2 a79 2 16 STD { int linux_sys_lchown16(const char *path, \ linux_uid16_t uid, linux_gid16_t gid); } d142 2 a143 4 70 STD { int linux_sys_setreuid16(linux_uid16_t ruid, \ linux_uid16_t euid); } 71 STD { int linux_sys_setregid16(linux_gid16_t rgid, \ linux_gid16_t egid); } d158 2 a159 4 80 STD { int linux_sys_getgroups16(int gidsetsize, \ linux_gid16_t *gidset); } 81 STD { int linux_sys_setgroups16(int gidsetsize, \ linux_gid16_t *gidset); } d182 1 a182 2 95 STD { int linux_sys_fchown16(int fd, linux_uid16_t uid, \ linux_gid16_t gid); } d275 4 a278 4 164 STD { int linux_sys_setresuid16(linux_uid16_t ruid, \ linux_uid16_t euid, linux_uid16_t suid); } 165 STD { int linux_sys_getresuid16(linux_uid16_t *ruid, \ linux_uid16_t *euid, linux_uid16_t *suid); } d284 4 a287 4 170 STD { int linux_sys_setresgid16(linux_gid16_t rgid, \ linux_gid16_t egid, linux_gid16_t sgid); } 171 STD { int linux_sys_getresgid16(linux_gid16_t *rgid, \ linux_gid16_t *egid, linux_gid16_t *sgid); } d313 2 a314 2 182 STD { int linux_sys_chown16(const char *path, \ linux_uid16_t uid, linux_gid16_t gid); } d357 1 a357 1 208 STD setresuid32 { int linux_sys_setresuid(uid_t ruid, \ d359 1 a359 1 209 STD getresuid32 { int linux_sys_getresuid(uid_t *ruid, \ d361 1 a361 1 210 STD setresgid32 { int linux_sys_setresgid(gid_t rgid, \ d363 1 a363 1 211 STD getresgid32 { int linux_sys_getresgid(gid_t *rgid, \ @ 1.28.14.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.29 2007/11/16 12:51:55 njoly Exp $ d69 2 a70 1 9 NOARGS { int sys_link(const char *path, const char *link); } d72 1 a72 1 11 NOARGS { int sys_execve(const char *path, char **argp, \ d74 1 a74 1 12 NOARGS { int sys_chdir(const char *path); } d78 1 a78 1 15 NOARGS { int sys_chmod(const char *path, int mode); } d100 1 a100 1 33 NOARGS { int sys_access(const char *path, int flags); } d105 1 a105 1 38 NOARGS { int sys___posix_rename(const char *from, \ d107 2 a108 2 39 NOARGS { int sys_mkdir(const char *path, int mode); } 40 NOARGS { int sys_rmdir(const char *path); } d162 2 a163 1 83 NOARGS { int sys_symlink(const char *path, const char *to); } d166 1 a166 1 85 NOARGS { int sys_readlink(const char *name, char *buf, \ d180 1 a180 1 92 NOARGS { int compat_43_sys_truncate(const char *path, \ d342 1 a342 1 198 NOARGS { int sys___posix_lchown(const char *path, uid_t uid, \ d366 1 a366 1 212 NOARGS chown32 { int sys___posix_chown(const char *path, \ @ 1.28.22.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.29 2007/11/16 12:51:55 njoly Exp $ d69 2 a70 1 9 NOARGS { int sys_link(const char *path, const char *link); } d72 1 a72 1 11 NOARGS { int sys_execve(const char *path, char **argp, \ d74 1 a74 1 12 NOARGS { int sys_chdir(const char *path); } d78 1 a78 1 15 NOARGS { int sys_chmod(const char *path, int mode); } d100 1 a100 1 33 NOARGS { int sys_access(const char *path, int flags); } d105 1 a105 1 38 NOARGS { int sys___posix_rename(const char *from, \ d107 2 a108 2 39 NOARGS { int sys_mkdir(const char *path, int mode); } 40 NOARGS { int sys_rmdir(const char *path); } d162 2 a163 1 83 NOARGS { int sys_symlink(const char *path, const char *to); } d166 1 a166 1 85 NOARGS { int sys_readlink(const char *name, char *buf, \ d180 1 a180 1 92 NOARGS { int compat_43_sys_truncate(const char *path, \ d342 1 a342 1 198 NOARGS { int sys___posix_lchown(const char *path, uid_t uid, \ d366 1 a366 1 212 NOARGS chown32 { int sys___posix_chown(const char *path, \ @ 1.28.22.2 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.32 2007/12/24 14:17:17 njoly Exp $ d232 1 a232 1 132 NOARGS { pid_t sys_getpgid(pid_t pid); } d239 1 a239 1 139 STD { int linux_sys_setfsgid(gid_t gid); } a326 1 #define linux_sys_mmap2_args linux_sys_mmap_args d369 1 a369 1 216 NOARGS setfsgid32 { int linux_sys_setfsgid(gid_t gid); } @ 1.28.22.3 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.33 2008/01/15 22:38:34 njoly Exp $ d78 2 a79 2 16 STD { int linux_sys_lchown16(const char *path, \ linux_uid16_t uid, linux_gid16_t gid); } d142 2 a143 4 70 STD { int linux_sys_setreuid16(linux_uid16_t ruid, \ linux_uid16_t euid); } 71 STD { int linux_sys_setregid16(linux_gid16_t rgid, \ linux_gid16_t egid); } d158 2 a159 4 80 STD { int linux_sys_getgroups16(int gidsetsize, \ linux_gid16_t *gidset); } 81 STD { int linux_sys_setgroups16(int gidsetsize, \ linux_gid16_t *gidset); } d182 1 a182 2 95 STD { int linux_sys_fchown16(int fd, linux_uid16_t uid, \ linux_gid16_t gid); } d275 4 a278 4 164 STD { int linux_sys_setresuid16(linux_uid16_t ruid, \ linux_uid16_t euid, linux_uid16_t suid); } 165 STD { int linux_sys_getresuid16(linux_uid16_t *ruid, \ linux_uid16_t *euid, linux_uid16_t *suid); } d284 4 a287 4 170 STD { int linux_sys_setresgid16(linux_gid16_t rgid, \ linux_gid16_t egid, linux_gid16_t sgid); } 171 STD { int linux_sys_getresgid16(linux_gid16_t *rgid, \ linux_gid16_t *egid, linux_gid16_t *sgid); } d313 2 a314 2 182 STD { int linux_sys_chown16(const char *path, \ linux_uid16_t uid, linux_gid16_t gid); } d357 1 a357 1 208 STD setresuid32 { int linux_sys_setresuid(uid_t ruid, \ d359 1 a359 1 209 STD getresuid32 { int linux_sys_getresuid(uid_t *ruid, \ d361 1 a361 1 210 STD setresgid32 { int linux_sys_setresgid(gid_t rgid, \ d363 1 a363 1 211 STD getresgid32 { int linux_sys_getresgid(gid_t *rgid, \ @ 1.28.20.1 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD$ d69 2 a70 1 9 NOARGS { int sys_link(const char *path, const char *link); } d72 1 a72 1 11 NOARGS { int sys_execve(const char *path, char **argp, \ d74 1 a74 1 12 NOARGS { int sys_chdir(const char *path); } d78 1 a78 1 15 NOARGS { int sys_chmod(const char *path, int mode); } d100 1 a100 1 33 NOARGS { int sys_access(const char *path, int flags); } d105 1 a105 1 38 NOARGS { int sys___posix_rename(const char *from, \ d107 2 a108 2 39 NOARGS { int sys_mkdir(const char *path, int mode); } 40 NOARGS { int sys_rmdir(const char *path); } d162 2 a163 1 83 NOARGS { int sys_symlink(const char *path, const char *to); } d166 1 a166 1 85 NOARGS { int sys_readlink(const char *name, char *buf, \ d180 1 a180 1 92 NOARGS { int compat_43_sys_truncate(const char *path, \ d342 1 a342 1 198 NOARGS { int sys___posix_lchown(const char *path, uid_t uid, \ d366 1 a366 1 212 NOARGS chown32 { int sys___posix_chown(const char *path, \ @ 1.27 log @Merge newlock2 to head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.26 2006/09/01 20:58:18 matt Exp $ d124 1 a124 1 caddr_t data); } d145 1 a145 1 72 STD { int linux_sys_sigsuspend(caddr_t restart, \ d176 1 a176 1 89 STD { int linux_sys_readdir(int fd, caddr_t dent, \ d179 1 a179 1 91 NOARGS { int sys_munmap(caddr_t addr, int len); } d187 1 a187 1 98 NOARGS { int sys_profil(caddr_t samples, u_int size, \ d215 1 a215 1 caddr_t ptr); } d243 1 a243 1 u_int32_t olow, caddr_t res, int whence); } d250 1 a250 1 144 STD { int linux_sys_msync(caddr_t addr, int len, int fl); } d258 2 a259 2 150 NOARGS { int sys_mlock(caddr_t addr, size_t len); } 151 NOARGS { int sys_munlock(caddr_t addr, size_t len); } @ 1.27.2.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.27 2007/02/09 21:55:18 ad Exp $ d124 1 a124 1 void *data); } d145 1 a145 1 72 STD { int linux_sys_sigsuspend(void *restart, \ d176 1 a176 1 89 STD { int linux_sys_readdir(int fd, void *dent, \ d179 1 a179 1 91 NOARGS { int sys_munmap(void *addr, int len); } d187 1 a187 1 98 NOARGS { int sys_profil(void *samples, u_int size, \ d215 1 a215 1 void *ptr); } d243 1 a243 1 u_int32_t olow, void *res, int whence); } d250 1 a250 1 144 STD { int linux_sys_msync(void *addr, int len, int fl); } d258 2 a259 2 150 NOARGS { int sys_mlock(void *addr, size_t len); } 151 NOARGS { int sys_munlock(void *addr, size_t len); } @ 1.26 log @Don't conditionalize *sys_ptrace. The lack of sys_ptrace will be dealt with differently. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.25 2006/08/30 11:14:39 matt Exp $ a45 1 #include @ 1.26.2.1 log @Remove support for SA. Ok core@@. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.26 2006/09/01 20:58:18 matt Exp $ d46 1 @ 1.25 log @Update to deal with options PTRACE @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.24 2006/06/10 21:15:33 christos Exp $ a38 1 #include "opt_ptrace.h" a91 1 #ifdef PTRACE a93 3 #else 26 EXCL ptrace #endif @ 1.24 log @linux getpriority is off-by-20 so use our own function. From PR/33671: Nicolas Joly @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.23 2005/12/11 12:20:14 christos Exp $ d39 1 d93 1 d96 3 @ 1.23 log @merge ktrace-lwp. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.14.2.6 2005/11/10 14:00:59 skrll Exp $ d186 1 a186 1 96 NOARGS { int sys_getpriority(int which, int who); } @ 1.23.4.1 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.26 2006/09/01 20:58:18 matt Exp $ d186 1 a186 1 96 STD { int linux_sys_getpriority(int which, int who); } @ 1.23.8.1 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.23 2005/12/11 12:20:14 christos Exp $ d186 1 a186 1 96 STD { int linux_sys_getpriority(int which, int who); } @ 1.23.14.1 log @Sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.24 2006/06/10 21:15:33 christos Exp $ d186 1 a186 1 96 STD { int linux_sys_getpriority(int which, int who); } @ 1.22 log @Add clock_* POSIX functions. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.21 2005/05/16 16:02:20 fvdl Exp $ @ 1.22.2.1 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.22 2005/05/16 21:17:11 fvdl Exp $ d186 1 a186 1 96 STD { int linux_sys_getpriority(int which, int who); } @ 1.22.2.2 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.22.2.1 2006/06/21 14:59:01 yamt Exp $ d46 1 @ 1.22.2.3 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.22.2.2 2007/02/26 09:09:14 yamt Exp $ d124 1 a124 1 void *data); } d145 1 a145 1 72 STD { int linux_sys_sigsuspend(void *restart, \ d176 1 a176 1 89 STD { int linux_sys_readdir(int fd, void *dent, \ d179 1 a179 1 91 NOARGS { int sys_munmap(void *addr, int len); } d187 1 a187 1 98 NOARGS { int sys_profil(void *samples, u_int size, \ d215 1 a215 1 void *ptr); } d243 1 a243 1 u_int32_t olow, void *res, int whence); } d250 1 a250 1 144 STD { int linux_sys_msync(void *addr, int len, int fl); } d258 2 a259 2 150 NOARGS { int sys_mlock(void *addr, size_t len); } 151 NOARGS { int sys_munlock(void *addr, size_t len); } @ 1.22.2.4 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.22.2.3 2007/09/03 14:32:14 yamt Exp $ d69 2 a70 1 9 NOARGS { int sys_link(const char *path, const char *link); } d72 1 a72 1 11 NOARGS { int sys_execve(const char *path, char **argp, \ d74 1 a74 1 12 NOARGS { int sys_chdir(const char *path); } d78 1 a78 1 15 NOARGS { int sys_chmod(const char *path, int mode); } d100 1 a100 1 33 NOARGS { int sys_access(const char *path, int flags); } d105 1 a105 1 38 NOARGS { int sys___posix_rename(const char *from, \ d107 2 a108 2 39 NOARGS { int sys_mkdir(const char *path, int mode); } 40 NOARGS { int sys_rmdir(const char *path); } d162 2 a163 1 83 NOARGS { int sys_symlink(const char *path, const char *to); } d166 1 a166 1 85 NOARGS { int sys_readlink(const char *name, char *buf, \ d180 1 a180 1 92 NOARGS { int compat_43_sys_truncate(const char *path, \ d342 1 a342 1 198 NOARGS { int sys___posix_lchown(const char *path, uid_t uid, \ d366 1 a366 1 212 NOARGS chown32 { int sys___posix_chown(const char *path, \ @ 1.22.2.5 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.22.2.4 2007/12/07 17:27:54 yamt Exp $ d78 2 a79 2 16 STD { int linux_sys_lchown16(const char *path, \ linux_uid16_t uid, linux_gid16_t gid); } d142 2 a143 4 70 STD { int linux_sys_setreuid16(linux_uid16_t ruid, \ linux_uid16_t euid); } 71 STD { int linux_sys_setregid16(linux_gid16_t rgid, \ linux_gid16_t egid); } d158 2 a159 4 80 STD { int linux_sys_getgroups16(int gidsetsize, \ linux_gid16_t *gidset); } 81 STD { int linux_sys_setgroups16(int gidsetsize, \ linux_gid16_t *gidset); } d182 1 a182 2 95 STD { int linux_sys_fchown16(int fd, linux_uid16_t uid, \ linux_gid16_t gid); } d232 1 a232 1 132 NOARGS { pid_t sys_getpgid(pid_t pid); } d239 1 a239 1 139 STD { int linux_sys_setfsgid(gid_t gid); } d275 4 a278 4 164 STD { int linux_sys_setresuid16(linux_uid16_t ruid, \ linux_uid16_t euid, linux_uid16_t suid); } 165 STD { int linux_sys_getresuid16(linux_uid16_t *ruid, \ linux_uid16_t *euid, linux_uid16_t *suid); } d284 4 a287 4 170 STD { int linux_sys_setresgid16(linux_gid16_t rgid, \ linux_gid16_t egid, linux_gid16_t sgid); } 171 STD { int linux_sys_getresgid16(linux_gid16_t *rgid, \ linux_gid16_t *egid, linux_gid16_t *sgid); } d313 2 a314 2 182 STD { int linux_sys_chown16(const char *path, \ linux_uid16_t uid, linux_gid16_t gid); } a326 1 #define linux_sys_mmap2_args linux_sys_mmap_args d356 1 a356 1 208 STD setresuid32 { int linux_sys_setresuid(uid_t ruid, \ d358 1 a358 1 209 STD getresuid32 { int linux_sys_getresuid(uid_t *ruid, \ d360 1 a360 1 210 STD setresgid32 { int linux_sys_setresgid(gid_t rgid, \ d362 1 a362 1 211 STD getresgid32 { int linux_sys_getresgid(gid_t *rgid, \ d369 1 a369 1 216 NOARGS setfsgid32 { int linux_sys_setfsgid(gid_t gid); } @ 1.21 log @Add *xattr functions (they all return EOPNOTSUPP). @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.20 2005/02/26 23:10:19 perry Exp $ d428 9 a436 4 262 UNIMPL clock_settime 263 UNIMPL clock_gettime 264 UNIMPL clock_getres 265 UNIMPL clock_nanosleep @ 1.20 log @nuke trailing whitespace @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.19 2004/09/20 18:41:07 jdolecek Exp $ d383 21 a403 12 226 UNIMPL setxattr 227 UNIMPL lsetxattr 228 UNIMPL fsetxattr 229 UNIMPL getxattr 230 UNIMPL lgetxattr 231 UNIMPL fgetxattr 232 UNIMPL listxattr 233 UNIMPL llistxattr 234 UNIMPL flistxattr 235 UNIMPL removexattr 236 UNIMPL lremovexattr 237 UNIMPL fremovexattr @ 1.19 log @implement support for Linux statfs64() syscall - 64bit variant of statfs() @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.18 2004/09/08 19:45:22 jdolecek Exp $ d144 1 a144 1 70 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); } d223 1 a223 1 123 UNIMPL modify_ldt @ 1.19.4.1 log @sync with -current @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.20 2005/02/26 23:10:19 perry Exp $ d144 1 a144 1 70 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); } d223 1 a223 1 123 UNIMPL modify_ldt @ 1.19.6.1 log @sync with head. xen and whitespace. xen part is not finished. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.19 2004/09/20 18:41:07 jdolecek Exp $ d144 1 a144 1 70 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); } d223 1 a223 1 123 UNIMPL modify_ldt @ 1.18 log @implement basic exit_group(2), which just terminates calling thread; apparently not many apps use thread groups yet, at least not with default SuSE 9.1 libraries, so this is enough for now @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.17 2004/08/01 14:16:32 jdolecek Exp $ d423 4 a426 2 266 UNIMPL statfs64 267 UNIMPL fstatfs64 @ 1.17 log @add stub entries for syscalls added until Linux kernel 2.6.7 move the ARM-specific syscall range up to offset 0x180, to make room for the new syscalls @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.16 2004/08/01 10:32:40 jdolecek Exp $ d405 1 a405 1 248 UNIMPL exit_group @ 1.16 log @connect madvise(2) and mincore(2) - apparently the newer Linux libs don't stub it anymore, so allow the application to take advantage of them the Linux calls appear to be compatible in the flag values and semantics, so a wrapper is not necessary @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.15 2003/08/10 20:16:20 jdolecek Exp $ d379 162 a540 35 ; Fill until 256 222 UNIMPL 223 UNIMPL 224 UNIMPL 225 UNIMPL 226 UNIMPL 227 UNIMPL 228 UNIMPL 229 UNIMPL 230 UNIMPL 231 UNIMPL 232 UNIMPL 233 UNIMPL 234 UNIMPL 235 UNIMPL 236 UNIMPL 237 UNIMPL 238 UNIMPL 239 UNIMPL 240 UNIMPL 241 UNIMPL 242 UNIMPL 243 UNIMPL 244 UNIMPL 245 UNIMPL 246 UNIMPL 247 UNIMPL 248 UNIMPL 249 UNIMPL 250 UNIMPL 251 UNIMPL 252 UNIMPL 253 UNIMPL 254 UNIMPL 255 UNIMPL d544 1 a544 1 ; ARM-specific syscalls use SWI numbers starting at 0x9f00000 d546 1 a546 1 ; remaps these down to 0x900100 so that we can use one linux_sysent d549 3 a551 3 256 UNIMPL 257 STD { int linux_sys_breakpoint(void); } 258 STD { int linux_sys_cacheflush(uintptr_t from, \ d553 2 a554 2 259 UNIMPL usr26 260 UNIMPL usr32 @ 1.15 log @add Linux compat arg wrapper for ftruncate64(), and change linux compat truncate64() wrapper to translate args structure NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have to do the argument translation Problem found and patch supplied in PR kern/22360 by Ales Krenek This is the last of syscalls with hidden 'pad' arg we didn't have wrapper for; all the others (lseek, mmap, pwrite, pread) already had wrapper before. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.14 2003/06/28 07:55:08 he Exp $ d376 2 a377 2 219 UNIMPL mincore 220 UNIMPL madvise @ 1.14 log @Need to include linux_mmap.h to get size of struct linux_sys_mmap2_args. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.13 2003/06/23 21:25:56 christos Exp $ d335 1 a335 1 194 NOARGS ftruncate64 { int sys_ftruncate(int fd, \ @ 1.14.2.1 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.15 2003/08/10 20:16:20 jdolecek Exp $ d335 1 a335 1 194 STD { int linux_sys_ftruncate64(unsigned int fd, \ d376 2 a377 2 219 NOARGS { int sys_mincore(void *addr, size_t len, char *vec); } 220 NOARGS { int sys_madvise(void *addr, size_t len, int behav); } d379 35 a413 162 222 UNIMPL /* for tux */ 223 UNIMPL /* unused */ 224 UNIMPL gettid 225 UNIMPL readahead 226 UNIMPL setxattr 227 UNIMPL lsetxattr 228 UNIMPL fsetxattr 229 UNIMPL getxattr 230 UNIMPL lgetxattr 231 UNIMPL fgetxattr 232 UNIMPL listxattr 233 UNIMPL llistxattr 234 UNIMPL flistxattr 235 UNIMPL removexattr 236 UNIMPL lremovexattr 237 UNIMPL fremovexattr 238 UNIMPL tkill 239 UNIMPL sendfile64 240 UNIMPL futex 241 UNIMPL sched_setaffinity 242 UNIMPL sched_getaffinity 243 UNIMPL io_setup 244 UNIMPL io_destroy 245 UNIMPL io_getevents 246 UNIMPL io_submit 247 UNIMPL io_cancel 248 UNIMPL exit_group 249 UNIMPL lookup_dcookie 250 UNIMPL epoll_create 251 UNIMPL epoll_ctl 252 UNIMPL epoll_wait 253 UNIMPL remap_file_pages 254 UNIMPL /* for set_thread_area */ 255 UNIMPL /* for get_thread_area */ 256 UNIMPL /* for set_tid_address */ 257 UNIMPL timer_create 258 UNIMPL timer_settime 259 UNIMPL timer_gettime 260 UNIMPL timer_getoverrun 261 UNIMPL timer_delete 262 UNIMPL clock_settime 263 UNIMPL clock_gettime 264 UNIMPL clock_getres 265 UNIMPL clock_nanosleep 266 UNIMPL statfs64 267 UNIMPL fstatfs64 268 UNIMPL tgkill 269 UNIMPL utimes 270 UNIMPL fadvise64_64 271 UNIMPL pciconfig_iobase 272 UNIMPL pciconfig_read 273 UNIMPL pciconfig_write 274 UNIMPL 275 UNIMPL 276 UNIMPL 277 UNIMPL 278 UNIMPL 279 UNIMPL 280 UNIMPL 281 UNIMPL 282 UNIMPL 283 UNIMPL 284 UNIMPL 285 UNIMPL 286 UNIMPL 287 UNIMPL 288 UNIMPL 289 UNIMPL 290 UNIMPL 291 UNIMPL 292 UNIMPL 293 UNIMPL 294 UNIMPL 295 UNIMPL 296 UNIMPL 297 UNIMPL 298 UNIMPL 299 UNIMPL 300 UNIMPL 301 UNIMPL 302 UNIMPL 303 UNIMPL 304 UNIMPL 305 UNIMPL 306 UNIMPL 307 UNIMPL 308 UNIMPL 309 UNIMPL 310 UNIMPL 311 UNIMPL 312 UNIMPL 313 UNIMPL 314 UNIMPL 315 UNIMPL 316 UNIMPL 317 UNIMPL 318 UNIMPL 319 UNIMPL 320 UNIMPL 321 UNIMPL 322 UNIMPL 323 UNIMPL 324 UNIMPL 325 UNIMPL 326 UNIMPL 327 UNIMPL 328 UNIMPL 329 UNIMPL 330 UNIMPL 331 UNIMPL 332 UNIMPL 333 UNIMPL 334 UNIMPL 335 UNIMPL 336 UNIMPL 337 UNIMPL 338 UNIMPL 339 UNIMPL 340 UNIMPL 341 UNIMPL 342 UNIMPL 343 UNIMPL 344 UNIMPL 345 UNIMPL 346 UNIMPL 347 UNIMPL 348 UNIMPL 349 UNIMPL 350 UNIMPL 351 UNIMPL 352 UNIMPL 353 UNIMPL 354 UNIMPL 355 UNIMPL 356 UNIMPL 357 UNIMPL 358 UNIMPL 359 UNIMPL 360 UNIMPL 361 UNIMPL 362 UNIMPL 363 UNIMPL 364 UNIMPL 365 UNIMPL 366 UNIMPL 367 UNIMPL 368 UNIMPL 369 UNIMPL 370 UNIMPL 371 UNIMPL 372 UNIMPL 373 UNIMPL 374 UNIMPL 375 UNIMPL 376 UNIMPL 377 UNIMPL 378 UNIMPL 379 UNIMPL 380 UNIMPL 381 UNIMPL 382 UNIMPL 383 UNIMPL d417 1 a417 1 ; ARM-specific syscalls use SWI numbers starting at 0x9f0000 d419 1 a419 1 ; remaps these down to 0x900180 so that we can use one linux_sysent d422 3 a424 3 384 UNIMPL /* base */ 385 STD { int linux_sys_breakpoint(void); } 386 STD { int linux_sys_cacheflush(uintptr_t from, \ d426 2 a427 2 387 UNIMPL usr26 388 UNIMPL usr32 @ 1.14.2.2 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.18 2004/09/08 19:45:22 jdolecek Exp $ d405 1 a405 1 248 STD { int linux_sys_exit_group(int error_code); } @ 1.14.2.3 log @Fix the sync with head I botched. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.14.2.1 2004/08/03 10:43:53 skrll Exp $ @ 1.14.2.4 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.14.2.3 2004/09/21 13:25:18 skrll Exp $ d423 2 a424 4 266 STD { int linux_sys_statfs64(const char *path, \ size_t sz, struct linux_statfs64 *sp); } 267 STD { int linux_sys_fstatfs64(int fd, \ size_t sz, struct linux_statfs64 *sp); } @ 1.14.2.5 log @Sync with HEAD. Hi Perry! @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.14.2.4 2004/09/24 10:53:18 skrll Exp $ d144 1 a144 1 70 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); } d223 1 a223 1 123 UNIMPL modify_ldt @ 1.14.2.6 log @Sync with HEAD. Here we go again... @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.14.2.5 2005/03/04 16:39:51 skrll Exp $ d383 12 a394 21 226 STD { int linux_sys_setxattr(char *path, char *name, \ void *value, size_t size, int flags); } 227 STD { int linux_sys_lsetxattr(char *path, char *name, \ void *value, size_t size, int flags); } 228 STD { int linux_sys_fsetxattr(int fd, char *name, \ void *value, size_t size, int flags); } 229 STD { ssize_t linux_sys_getxattr(char *path, char *name, \ void *value, size_t size); } 230 STD { ssize_t linux_sys_lgetxattr(char *path, char *name, \ void *value, size_t size); } 231 STD { ssize_t linux_sys_fgetxattr(int fd, char *name, \ void *value, size_t size); } 232 STD { ssize_t linux_sys_listxattr(char *path, char *list, \ size_t size); } 233 STD { ssize_t linux_sys_llistxattr(char *path, char *list, \ size_t size); } 234 STD { ssize_t linux_sys_flistxattr(int fd, char *list, \ size_t size); } 235 STD { int linux_sys_removexattr(char *path, char *name); } 236 STD { int linux_sys_lremovexattr(char *path, char *name); } 237 STD { int linux_sys_fremovexattr(int fd, char *name); } d419 4 a422 9 262 STD { int linux_sys_clock_settime(clockid_t which, \ struct linux_timespec *tp); } 263 STD { int linux_sys_clock_gettime(clockid_t which, \ struct linux_timespec *tp); } 264 STD { int linux_sys_clock_getres(clockid_t which, \ struct linux_timespec *tp); } 265 STD { int linux_sys_clock_nanosleep(clockid_t which, \ int flags, struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } @ 1.13 log @PR/21937: Todd Vierling: Proper support for mmap2 @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.12 2003/01/18 08:02:47 thorpej Exp $ d50 1 @ 1.12 log @Merge the nathanw_sa branch. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.11 2002/05/12 15:04:27 jdolecek Exp $ d329 3 a331 1 192 UNIMPL mmap2 @ 1.11 log @hook in remaining 64bit fs syscalls make most of stuff in linux_file64.c available unconditionally, with exception of fcntl64, which is not present on Linux m68k @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.10 2002/04/10 18:18:27 christos Exp $ d46 1 @ 1.11.4.1 log @Regen files (requested by tv in ticket #1427) Proper support for mmap2 @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.11 2002/05/12 15:04:27 jdolecek Exp $ d328 1 a328 3 192 NOARGS { linux_off_t linux_sys_mmap2(unsigned long addr, \ size_t len, int prot, int flags, int fd, \ linux_off_t offset); } @ 1.11.4.2 log @Followup from ticket #1427. Need to include mmap2.h here or it won't compile @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.11.4.1 2003/10/22 04:03:00 jmc Exp $ a51 1 #include @ 1.11.4.3 log @Pull up revision 1.15 via patch (requested by wennmach in ticket #1686): add Linux compat arg wrapper for ftruncate64(), and change linux compat truncate64() wrapper to translate args structure NetBSD truncate() and ftrucate() have hidden 'pad' argument, so we have to do the argument translation Problem found and patch supplied in PR kern/22360 by Ales Krenek This is the last of syscalls with hidden 'pad' arg we didn't have wrapper for; all the others (lseek, mmap, pwrite, pread) already had wrapper before. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.11.4.2 2003/11/20 04:21:35 jmc Exp $ d334 1 a334 1 194 STD { int linux_sys_ftruncate64(int fd, \ @ 1.11.4.4 log @Pullup patch (requested by skrll in ticket #1708) Bring netbsd-1-6 inline with -current sources after the mistakes in ticket #1686 @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.11.4.3 2004/05/11 14:30:57 tron Exp $ d334 1 a334 1 194 STD { int linux_sys_ftruncate64(unsigned int fd, \ @ 1.10 log @add getdents64 @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.9 2002/03/22 15:16:02 christos Exp $ d374 1 a374 1 221 UNIMPL fcntl64 @ 1.9 log @nuke mmap2 add mprotect @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.8 2002/02/17 22:29:46 bjh21 Exp $ d369 2 a370 1 217 UNIMPL getdents64 @ 1.8 log @getrlimit and setrlimit now have Linux-specific implementations. Use them. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.7 2002/02/15 16:47:59 christos Exp $ d223 2 a224 1 125 NOARGS { int sys_mprotect(caddr_t addr, int len, int prot); } d328 1 a328 2 192 STD { int linux_sys_mmap2(void *addr, size_t len, \ int prot, int flags, int fd, off_t offset); } @ 1.8.2.1 log @file syscalls.master was added on branch nathanw_sa on 2002-02-28 04:12:49 +0000 @ text @d1 422 @ 1.8.2.2 log @Catch up to -current. @ text @a0 422 $NetBSD: syscalls.master,v 1.8.2.1 2002/02/28 04:12:49 nathanw Exp $ ; Derived from sys/compat/linux/arch/*/syscalls.master ; and from Linux 2.4.12 arch/arm/kernel/calls.S ; NetBSD/arm COMPAT_LINUX system call name/number "master" file. ; (See syscalls.conf to see what it is processed into.) ; ; Fields: number type [type-dependent ...] ; number system call number, must be in order ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of ; the compatibility options defined in syscalls.conf. ; ; types: ; STD always included ; OBSOL obsolete, not included in system ; UNIMPL unimplemented, not included in system ; NODEF included, but don't define the syscall number ; NOARGS included, but don't define the syscall args structure ; INDIR included, but don't define the syscall args structure ; and allow it to be "really" varargs. ; ; The compat options are defined in the syscalls.conf file, and the ; compat option name is prefixed to the syscall name. Other than ; that, they're like NODEF (for 'compat' options), or STD (for ; 'libcompat' options). ; ; The type-dependent arguments are as follows: ; For STD, NODEF, NOARGS, and compat syscalls: ; { pseudo-proto } [alias] ; For other syscalls: ; [comment] ; ; #ifdef's, etc. may be included, and are copied to the output files. ; #include's are copied to the syscall names and switch definition files only. #if defined(_KERNEL_OPT) #include "opt_compat_43.h" #endif #include #include #include #include #include #include #include #include #include #include #include %% ; XXX We have to explicitly declare linux_sys_nosys. 0 NOARGS { int linux_sys_nosys(void); } 1 NOARGS { int sys_exit(int rval); } 2 NOARGS { int sys_fork(void); } 3 NOARGS { int sys_read(int fd, char *buf, u_int nbyte); } 4 NOARGS { int sys_write(int fd, char *buf, u_int nbyte); } 5 STD { int linux_sys_open(const char *path, int flags, \ int mode); } 6 NOARGS { int sys_close(int fd); } 7 STD { int linux_sys_waitpid(int pid, int *status, \ int options);} 8 STD { int linux_sys_creat(const char *path, int mode); } 9 STD { int linux_sys_link(const char *path, const \ char *link); } 10 STD { int linux_sys_unlink(const char *path); } 11 STD { int linux_sys_execve(const char *path, char **argp, \ char **envp); } 12 STD { int linux_sys_chdir(const char *path); } 13 STD { int linux_sys_time(linux_time_t *t); } 14 STD { int linux_sys_mknod(const char *path, int mode, \ int dev); } 15 STD { int linux_sys_chmod(const char *path, int mode); } 16 STD { int linux_sys_lchown16(const char *path, int uid, \ int gid); } 17 OBSOL break 18 OBSOL ostat 19 NOARGS { long compat_43_sys_lseek(int fd, long offset, \ int whence); } 20 NOARGS MPSAFE { pid_t sys_getpid(void); } 21 UNIMPL mount 22 OBSOL umount 23 NOARGS { int sys_setuid(uid_t uid); } 24 NOARGS { uid_t sys_getuid(void); } 25 STD { int linux_sys_stime(linux_time_t *t); } 26 STD { int linux_sys_ptrace(int request, int pid, \ int addr, int data); } 27 STD { int linux_sys_alarm(unsigned int secs); } 28 OBSOL ofstat 29 STD { int linux_sys_pause(void); } 30 STD { int linux_sys_utime(const char *path, \ struct linux_utimbuf *times); } 31 OBSOL stty 32 OBSOL gtty 33 STD { int linux_sys_access(const char *path, int flags); } 34 STD { int linux_sys_nice(int incr); } 35 OBSOL ftime 36 NOARGS { int sys_sync(void); } 37 STD { int linux_sys_kill(int pid, int signum); } 38 STD { int linux_sys_rename(const char *from, \ const char *to); } 39 STD { int linux_sys_mkdir(const char *path, int mode); } 40 STD { int linux_sys_rmdir(const char *path); } 41 NOARGS { int sys_dup(u_int fd); } 42 STD { int linux_sys_pipe(int *pfds); } 43 STD { int linux_sys_times(struct times *tms); } 44 OBSOL prof 45 STD { int linux_sys_brk(char *nsize); } 46 NOARGS { int sys_setgid(gid_t gid); } 47 NOARGS { gid_t sys_getgid(void); } 48 STD { int linux_sys_signal(int signum, \ linux_handler_t handler); } 49 NOARGS { uid_t sys_geteuid(void); } 50 NOARGS { gid_t sys_getegid(void); } 51 NOARGS { int sys_acct(char *path); } 52 UNIMPL umount 53 OBSOL lock 54 STD { int linux_sys_ioctl(int fd, u_long com, \ caddr_t data); } 55 STD { int linux_sys_fcntl(int fd, int cmd, void *arg); } 56 OBSOL mpx 57 NOARGS { int sys_setpgid(int pid, int pgid); } 58 OBSOL ulimit 59 STD { int linux_sys_oldolduname( \ struct linux_oldold_utsname *up); } 60 NOARGS { int sys_umask(int newmask); } 61 NOARGS { int sys_chroot(char *path); } 62 UNIMPL ustat 63 NOARGS { int sys_dup2(u_int from, u_int to); } 64 NOARGS { pid_t sys_getppid(void); } 65 NOARGS { int sys_getpgrp(void); } 66 NOARGS { int sys_setsid(void); } 67 STD { int linux_sys_sigaction(int signum, \ const struct linux_old_sigaction *nsa, \ struct linux_old_sigaction *osa); } 68 STD { int linux_sys_siggetmask(void); } 69 STD { int linux_sys_sigsetmask(linux_old_sigset_t mask); } 70 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); } 71 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); } 72 STD { int linux_sys_sigsuspend(caddr_t restart, \ int oldmask, int mask); } 73 STD { int linux_sys_sigpending(linux_old_sigset_t *set); } 74 NOARGS { int compat_43_sys_sethostname(char *hostname, \ u_int len);} 75 STD { int linux_sys_setrlimit(u_int which, \ struct orlimit *rlp); } 76 STD { int linux_sys_getrlimit(u_int which, \ struct orlimit *rlp); } 77 NOARGS { int sys_getrusage(int who, struct rusage *rusage); } 78 STD { int linux_sys_gettimeofday(struct timeval *tp, \ struct timezone *tzp); } 79 STD { int linux_sys_settimeofday(struct timeval *tp, \ struct timezone *tzp); } 80 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); } 81 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); } 82 STD { int linux_sys_oldselect(struct linux_oldselect *lsp); } 83 STD { int linux_sys_symlink(const char *path, \ const char *to); } 84 NOARGS { int compat_43_sys_lstat(const char *path, \ struct stat43 *up); } oolstat 85 STD { int linux_sys_readlink(const char *name, char *buf, \ int count); } #ifdef EXEC_AOUT 86 STD { int linux_sys_uselib(const char *path); } #else 86 EXCL uselib #endif 87 STD { int linux_sys_swapon(char *name); } 88 STD { int linux_sys_reboot(int magic1, int magic2, \ int cmd, void *arg); } 89 STD { int linux_sys_readdir(int fd, caddr_t dent, \ unsigned int count); } 90 STD { int linux_sys_old_mmap(struct linux_oldmmap *lmp); } 91 NOARGS { int sys_munmap(caddr_t addr, int len); } 92 STD { int linux_sys_truncate(const char *path, \ long length); } 93 NOARGS { int compat_43_sys_ftruncate(int fd, long length); } 94 NOARGS { int sys_fchmod(int fd, int mode); } 95 STD { int linux_sys_fchown16(int fd, int uid, int gid); } 96 NOARGS { int sys_getpriority(int which, int who); } 97 NOARGS { int sys_setpriority(int which, int who, int prio); } 98 NOARGS { int sys_profil(caddr_t samples, u_int size, \ u_int offset, u_int scale); } 99 STD { int linux_sys_statfs(const char *path, \ struct linux_statfs *sp); } 100 STD { int linux_sys_fstatfs(int fd, \ struct linux_statfs *sp); } 101 UNIMPL 102 STD { int linux_sys_socketcall(int what, void *args); } 103 UNIMPL syslog 104 NOARGS { int sys_setitimer(u_int which, \ struct itimerval *itv, struct itimerval *oitv); } 105 NOARGS { int sys_getitimer(u_int which, \ struct itimerval *itv); } 106 STD { int linux_sys_stat(const char *path, \ struct linux_stat *sp); } 107 STD { int linux_sys_lstat(const char *path, \ struct linux_stat *sp); } 108 STD { int linux_sys_fstat(int fd, struct linux_stat *sp); } 109 STD { int linux_sys_olduname(struct linux_oldutsname *up); } 110 UNIMPL 111 UNIMPL vhangup 112 UNIMPL idle 113 UNIMPL syscall 114 STD { int linux_sys_wait4(int pid, int *status, \ int options, struct rusage *rusage); } 115 STD { int linux_sys_swapoff(const char *path); } 116 STD { int linux_sys_sysinfo(struct linux_sysinfo *arg); } 117 STD { int linux_sys_ipc(int what, int a1, int a2, int a3, \ caddr_t ptr); } 118 NOARGS { int sys_fsync(int fd); } 119 STD { int linux_sys_sigreturn(struct linux_sigcontext *scp); } 120 STD { int linux_sys_clone(int flags, void *stack); } 121 STD { int linux_sys_setdomainname(char *domainname, \ int len); } 122 STD { int linux_sys_uname(struct linux_utsname *up); } 123 UNIMPL modify_ldt 124 UNIMPL adjtimex 125 NOARGS { int sys_mprotect(caddr_t addr, int len, int prot); } 126 STD { int linux_sys_sigprocmask(int how, \ const linux_old_sigset_t *set, \ linux_old_sigset_t *oset); } 127 UNIMPL create_module 128 UNIMPL init_module 129 UNIMPL delete_module 130 UNIMPL get_kernel_syms 131 UNIMPL quotactl 132 STD { int linux_sys_getpgid(int pid); } 133 NOARGS { int sys_fchdir(int fd); } 134 UNIMPL bdflush 135 UNIMPL sysfs 136 STD { int linux_sys_personality(int per); } 137 UNIMPL afs_syscall 138 STD { int linux_sys_setfsuid(uid_t uid); } 139 NOARGS { int linux_sys_getfsuid(void); } 140 STD { int linux_sys_llseek(int fd, u_int32_t ohigh, \ u_int32_t olow, caddr_t res, int whence); } 141 STD { int linux_sys_getdents(int fd, \ struct linux_dirent *dent, unsigned int count); } 142 STD { int linux_sys_select(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct timeval *timeout); } 143 NOARGS { int sys_flock(int fd, int how); } 144 STD { int linux_sys_msync(caddr_t addr, int len, int fl); } 145 NOARGS { int sys_readv(int fd, struct iovec *iovp, \ u_int iovcnt); } 146 NOARGS { int sys_writev(int fd, struct iovec *iovp, \ u_int iovcnt); } 147 NOARGS { pid_t sys_getsid(pid_t pid); } 148 STD { int linux_sys_fdatasync(int fd); } 149 STD { int linux_sys___sysctl(struct linux___sysctl *lsp); } 150 NOARGS { int sys_mlock(caddr_t addr, size_t len); } 151 NOARGS { int sys_munlock(caddr_t addr, size_t len); } 152 NOARGS { int sys_mlockall(int flags); } 153 NOARGS { int sys_munlockall(void); } 154 STD { int linux_sys_sched_setparam(pid_t pid, \ const struct linux_sched_param *sp); } 155 STD { int linux_sys_sched_getparam(pid_t pid, \ struct linux_sched_param *sp); } 156 STD { int linux_sys_sched_setscheduler(pid_t pid, \ int policy, const struct linux_sched_param *sp); } 157 STD { int linux_sys_sched_getscheduler(pid_t pid); } 158 STD { int linux_sys_sched_yield(void); } 159 STD { int linux_sys_sched_get_priority_max(int policy); } 160 STD { int linux_sys_sched_get_priority_min(int policy); } 161 UNIMPL sched_rr_get_interval 162 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \ struct timespec *rmtp); } 163 STD { void *linux_sys_mremap(void *old_address, \ size_t old_size, size_t new_size, u_long flags); } 164 STD { int linux_sys_setresuid(uid_t ruid, uid_t euid, \ uid_t suid); } 165 STD { int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \ uid_t *suid); } 166 UNIMPL 167 UNIMPL query_module 168 NOARGS { int sys_poll(struct pollfd *fds, u_int nfds, \ int timeout); } 169 UNIMPL nfsservctl 170 STD { int linux_sys_setresgid(gid_t rgid, gid_t egid, \ gid_t sgid); } 171 STD { int linux_sys_getresgid(gid_t *rgid, gid_t *egid, \ gid_t *sgid); } 172 UNIMPL prctl 173 UNIMPL rt_sigreturn ;173 STD { int linux_sys_rt_sigreturn( \ ; struct linux_rt_sigframe *sfp); } 174 STD { int linux_sys_rt_sigaction(int signum, \ const struct linux_sigaction *nsa, \ struct linux_sigaction *osa, \ size_t sigsetsize); } 175 STD { int linux_sys_rt_sigprocmask(int how, \ const linux_sigset_t *set, \ linux_sigset_t *oset, \ size_t sigsetsize); } 176 STD { int linux_sys_rt_sigpending( \ linux_sigset_t *set, \ size_t sigsetsize); } 177 UNIMPL rt_sigtimedwait ; XXX XAX int here? sigset_t here? siginfo_t 178 STD { int linux_sys_rt_queueinfo(int pid, int signum, \ void *uinfo); } 179 STD { int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \ size_t sigsetsize); } 180 STD { int linux_sys_pread(int fd, char *buf, \ size_t nbyte, linux_off_t offset); } 181 STD { int linux_sys_pwrite(int fd, char *buf, \ size_t nbyte, linux_off_t offset); } 182 STD { int linux_sys_chown16(const char *path, int uid, \ int gid); } 183 NOARGS { int sys___getcwd(char *bufp, size_t length); } 184 UNIMPL capget 185 UNIMPL capset 186 STD { int linux_sys_sigaltstack( \ const struct linux_sigaltstack *ss, \ struct linux_sigaltstack *oss); } 187 UNIMPL sendfile 188 UNIMPL getpmsg 189 UNIMPL putpmsg 190 NOARGS vfork { int sys___vfork14(void); } 191 STD { int linux_sys_ugetrlimit(int which, \ struct rlimit *rlp); } 192 STD { int linux_sys_mmap2(void *addr, size_t len, \ int prot, int flags, int fd, off_t offset); } 193 STD { int linux_sys_truncate64(const char *path, \ off_t length); } 194 NOARGS ftruncate64 { int sys_ftruncate(int fd, \ off_t length); } 195 STD { int linux_sys_stat64(const char *path, \ struct linux_stat64 *sp); } 196 STD { int linux_sys_lstat64(const char *path, \ struct linux_stat64 *sp); } 197 STD { int linux_sys_fstat64(int fd, \ struct linux_stat64 *sp); } 198 STD { int linux_sys_lchown(const char *path, uid_t uid, \ gid_t gid); } 199 NOARGS getuid32 { uid_t sys_getuid(void); } 200 NOARGS getgid32 { gid_t sys_getgid(void); } 201 NOARGS geteuid32 { uid_t sys_geteuid(void); } 202 NOARGS getegid32 { gid_t sys_getegid(void); } 203 NOARGS setreuid32 { int sys_setreuid(uid_t ruid, \ uid_t euid); } 204 NOARGS setregid32 { int sys_setregid(gid_t rgid, \ gid_t egid); } 205 NOARGS getgroups32 { int sys_getgroups(u_int gidsetsize, \ gid_t *gidset); } 206 NOARGS setgroups32 { int sys_setgroups(u_int gidsetsize, \ gid_t *gidset); } 207 NOARGS fchown32 { int sys___posix_fchown(int fd, uid_t uid, \ gid_t gid); } 208 NOARGS setresuid32 { int linux_sys_setresuid(uid_t ruid, \ uid_t euid, uid_t suid); } 209 NOARGS getresuid32 { int linux_sys_getresuid(uid_t *ruid, \ uid_t *euid, uid_t *suid); } 210 NOARGS setresgid32 { int linux_sys_setresgid(gid_t rgid, \ gid_t egid, gid_t sgid); } 211 NOARGS getresgid32 { int linux_sys_getresgid(gid_t *rgid, \ gid_t *egid, gid_t *sgid); } 212 STD chown32 { int linux_sys_chown(const char *path, \ uid_t uid, gid_t gid); } 213 NOARGS setuid32 { int sys_setuid(uid_t uid); } 214 NOARGS setgid32 { int sys_setgid(gid_t gid); } 215 NOARGS setfsuid32 { int linux_sys_setfsuid(uid_t uid); } 216 NOARGS getfsuid32 { int linux_sys_getfsuid(void); } 217 UNIMPL getdents64 218 UNIMPL pivot_root 219 UNIMPL mincore 220 UNIMPL madvise 221 UNIMPL fcntl64 ; Fill until 256 222 UNIMPL 223 UNIMPL 224 UNIMPL 225 UNIMPL 226 UNIMPL 227 UNIMPL 228 UNIMPL 229 UNIMPL 230 UNIMPL 231 UNIMPL 232 UNIMPL 233 UNIMPL 234 UNIMPL 235 UNIMPL 236 UNIMPL 237 UNIMPL 238 UNIMPL 239 UNIMPL 240 UNIMPL 241 UNIMPL 242 UNIMPL 243 UNIMPL 244 UNIMPL 245 UNIMPL 246 UNIMPL 247 UNIMPL 248 UNIMPL 249 UNIMPL 250 UNIMPL 251 UNIMPL 252 UNIMPL 253 UNIMPL 254 UNIMPL 255 UNIMPL ; ARMLinux actually has two ranges of syscalls. Normal syscalls use ; SWI numbers starting at 0x900000 (__NR_SYSCALL_BASE). Special ; ARM-specific syscalls use SWI numbers starting at 0x9f00000 ; (__ARM_NR_BASE). linux_syscall() (in arch/arm/arm/linux_syscall.c) ; remaps these down to 0x900100 so that we can use one linux_sysent ; array for the whole lot. 256 UNIMPL 257 STD { int linux_sys_breakpoint(void); } 258 STD { int linux_sys_cacheflush(uintptr_t from, \ intptr_t to); } 259 UNIMPL usr26 260 UNIMPL usr32 @ 1.8.2.3 log @Catch up to -current. (CVS: It's not just a program. It's an adventure!) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.8.2.2 2002/04/01 07:44:09 nathanw Exp $ d223 1 a223 2 125 STD { int linux_sys_mprotect(const void *start, \ unsigned long len, int prot); } d327 2 a328 1 192 UNIMPL mmap2 @ 1.8.2.4 log @Catch up to -current. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.8.2.3 2002/04/17 00:04:57 nathanw Exp $ d369 1 a369 2 217 STD { int linux_sys_getdents64(int fd, \ struct linux_dirent64 *dent, unsigned int count); } @ 1.8.2.5 log @#include before , to provide sa_upcall_t now that doesn't include . (Behold the Power of Ed) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.8.2.4 2002/05/29 21:32:31 nathanw Exp $ a45 1 #include @ 1.8.2.6 log @Catch up to -current. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.8.2.5 2002/06/20 03:42:58 nathanw Exp $ d375 1 a375 1 221 STD { int linux_sys_fcntl64(int fd, int cmd, void *arg); } @ 1.7 log @- add a real linux_sys___sysctl because the mib numbers are different. implement only the kernel version getting entries. - make the signal conversion functions consistent; dest is arg 1. - make linux_fakedev deal with block and char devices differently. - add linux_sys_ugetrlimit, and flesh out the regular get/setrlimit so that they work properly. - add linux_mmap2 [untested]. - bump kernel to 2.4.18, and make the date be valentine's day :-) - linux_sys_*stat64 family was totally busted. Fix it. tested only on i386. Status: gdb, telnet, work jdk-1.4.0 extractor works, jdk still coredumps. christos @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.6 2002/01/27 15:27:33 bjh21 Exp $ d149 1 a149 1 75 NOARGS { int compat_43_sys_setrlimit(u_int which, \ d151 1 a151 1 76 NOARGS { int compat_43_sys_getrlimit(u_int which, \ @ 1.6 log @Add support for breakpoints to ARMLinux emulation. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.5 2002/01/27 14:08:56 bjh21 Exp $ d325 4 a328 2 191 UNIMPL getrlimit 192 UNIMPL mmap2 @ 1.6.2.1 log @file syscalls.master was added on branch kqueue on 2002-02-11 20:09:32 +0000 @ text @d1 420 @ 1.6.2.2 log @Sync w/ -current. @ text @a0 420 $NetBSD: syscalls.master,v 1.6.2.1 2002/02/11 20:09:32 jdolecek Exp $ ; Derived from sys/compat/linux/arch/*/syscalls.master ; and from Linux 2.4.12 arch/arm/kernel/calls.S ; NetBSD/arm COMPAT_LINUX system call name/number "master" file. ; (See syscalls.conf to see what it is processed into.) ; ; Fields: number type [type-dependent ...] ; number system call number, must be in order ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of ; the compatibility options defined in syscalls.conf. ; ; types: ; STD always included ; OBSOL obsolete, not included in system ; UNIMPL unimplemented, not included in system ; NODEF included, but don't define the syscall number ; NOARGS included, but don't define the syscall args structure ; INDIR included, but don't define the syscall args structure ; and allow it to be "really" varargs. ; ; The compat options are defined in the syscalls.conf file, and the ; compat option name is prefixed to the syscall name. Other than ; that, they're like NODEF (for 'compat' options), or STD (for ; 'libcompat' options). ; ; The type-dependent arguments are as follows: ; For STD, NODEF, NOARGS, and compat syscalls: ; { pseudo-proto } [alias] ; For other syscalls: ; [comment] ; ; #ifdef's, etc. may be included, and are copied to the output files. ; #include's are copied to the syscall names and switch definition files only. #if defined(_KERNEL_OPT) #include "opt_compat_43.h" #endif #include #include #include #include #include #include #include #include #include #include #include %% ; XXX We have to explicitly declare linux_sys_nosys. 0 NOARGS { int linux_sys_nosys(void); } 1 NOARGS { int sys_exit(int rval); } 2 NOARGS { int sys_fork(void); } 3 NOARGS { int sys_read(int fd, char *buf, u_int nbyte); } 4 NOARGS { int sys_write(int fd, char *buf, u_int nbyte); } 5 STD { int linux_sys_open(const char *path, int flags, \ int mode); } 6 NOARGS { int sys_close(int fd); } 7 STD { int linux_sys_waitpid(int pid, int *status, \ int options);} 8 STD { int linux_sys_creat(const char *path, int mode); } 9 STD { int linux_sys_link(const char *path, const \ char *link); } 10 STD { int linux_sys_unlink(const char *path); } 11 STD { int linux_sys_execve(const char *path, char **argp, \ char **envp); } 12 STD { int linux_sys_chdir(const char *path); } 13 STD { int linux_sys_time(linux_time_t *t); } 14 STD { int linux_sys_mknod(const char *path, int mode, \ int dev); } 15 STD { int linux_sys_chmod(const char *path, int mode); } 16 STD { int linux_sys_lchown16(const char *path, int uid, \ int gid); } 17 OBSOL break 18 OBSOL ostat 19 NOARGS { long compat_43_sys_lseek(int fd, long offset, \ int whence); } 20 NOARGS MPSAFE { pid_t sys_getpid(void); } 21 UNIMPL mount 22 OBSOL umount 23 NOARGS { int sys_setuid(uid_t uid); } 24 NOARGS { uid_t sys_getuid(void); } 25 STD { int linux_sys_stime(linux_time_t *t); } 26 STD { int linux_sys_ptrace(int request, int pid, \ int addr, int data); } 27 STD { int linux_sys_alarm(unsigned int secs); } 28 OBSOL ofstat 29 STD { int linux_sys_pause(void); } 30 STD { int linux_sys_utime(const char *path, \ struct linux_utimbuf *times); } 31 OBSOL stty 32 OBSOL gtty 33 STD { int linux_sys_access(const char *path, int flags); } 34 STD { int linux_sys_nice(int incr); } 35 OBSOL ftime 36 NOARGS { int sys_sync(void); } 37 STD { int linux_sys_kill(int pid, int signum); } 38 STD { int linux_sys_rename(const char *from, \ const char *to); } 39 STD { int linux_sys_mkdir(const char *path, int mode); } 40 STD { int linux_sys_rmdir(const char *path); } 41 NOARGS { int sys_dup(u_int fd); } 42 STD { int linux_sys_pipe(int *pfds); } 43 STD { int linux_sys_times(struct times *tms); } 44 OBSOL prof 45 STD { int linux_sys_brk(char *nsize); } 46 NOARGS { int sys_setgid(gid_t gid); } 47 NOARGS { gid_t sys_getgid(void); } 48 STD { int linux_sys_signal(int signum, \ linux_handler_t handler); } 49 NOARGS { uid_t sys_geteuid(void); } 50 NOARGS { gid_t sys_getegid(void); } 51 NOARGS { int sys_acct(char *path); } 52 UNIMPL umount 53 OBSOL lock 54 STD { int linux_sys_ioctl(int fd, u_long com, \ caddr_t data); } 55 STD { int linux_sys_fcntl(int fd, int cmd, void *arg); } 56 OBSOL mpx 57 NOARGS { int sys_setpgid(int pid, int pgid); } 58 OBSOL ulimit 59 STD { int linux_sys_oldolduname( \ struct linux_oldold_utsname *up); } 60 NOARGS { int sys_umask(int newmask); } 61 NOARGS { int sys_chroot(char *path); } 62 UNIMPL ustat 63 NOARGS { int sys_dup2(u_int from, u_int to); } 64 NOARGS { pid_t sys_getppid(void); } 65 NOARGS { int sys_getpgrp(void); } 66 NOARGS { int sys_setsid(void); } 67 STD { int linux_sys_sigaction(int signum, \ const struct linux_old_sigaction *nsa, \ struct linux_old_sigaction *osa); } 68 STD { int linux_sys_siggetmask(void); } 69 STD { int linux_sys_sigsetmask(linux_old_sigset_t mask); } 70 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); } 71 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); } 72 STD { int linux_sys_sigsuspend(caddr_t restart, \ int oldmask, int mask); } 73 STD { int linux_sys_sigpending(linux_old_sigset_t *set); } 74 NOARGS { int compat_43_sys_sethostname(char *hostname, \ u_int len);} 75 NOARGS { int compat_43_sys_setrlimit(u_int which, \ struct orlimit *rlp); } 76 NOARGS { int compat_43_sys_getrlimit(u_int which, \ struct orlimit *rlp); } 77 NOARGS { int sys_getrusage(int who, struct rusage *rusage); } 78 STD { int linux_sys_gettimeofday(struct timeval *tp, \ struct timezone *tzp); } 79 STD { int linux_sys_settimeofday(struct timeval *tp, \ struct timezone *tzp); } 80 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); } 81 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); } 82 STD { int linux_sys_oldselect(struct linux_oldselect *lsp); } 83 STD { int linux_sys_symlink(const char *path, \ const char *to); } 84 NOARGS { int compat_43_sys_lstat(const char *path, \ struct stat43 *up); } oolstat 85 STD { int linux_sys_readlink(const char *name, char *buf, \ int count); } #ifdef EXEC_AOUT 86 STD { int linux_sys_uselib(const char *path); } #else 86 EXCL uselib #endif 87 STD { int linux_sys_swapon(char *name); } 88 STD { int linux_sys_reboot(int magic1, int magic2, \ int cmd, void *arg); } 89 STD { int linux_sys_readdir(int fd, caddr_t dent, \ unsigned int count); } 90 STD { int linux_sys_old_mmap(struct linux_oldmmap *lmp); } 91 NOARGS { int sys_munmap(caddr_t addr, int len); } 92 STD { int linux_sys_truncate(const char *path, \ long length); } 93 NOARGS { int compat_43_sys_ftruncate(int fd, long length); } 94 NOARGS { int sys_fchmod(int fd, int mode); } 95 STD { int linux_sys_fchown16(int fd, int uid, int gid); } 96 NOARGS { int sys_getpriority(int which, int who); } 97 NOARGS { int sys_setpriority(int which, int who, int prio); } 98 NOARGS { int sys_profil(caddr_t samples, u_int size, \ u_int offset, u_int scale); } 99 STD { int linux_sys_statfs(const char *path, \ struct linux_statfs *sp); } 100 STD { int linux_sys_fstatfs(int fd, \ struct linux_statfs *sp); } 101 UNIMPL 102 STD { int linux_sys_socketcall(int what, void *args); } 103 UNIMPL syslog 104 NOARGS { int sys_setitimer(u_int which, \ struct itimerval *itv, struct itimerval *oitv); } 105 NOARGS { int sys_getitimer(u_int which, \ struct itimerval *itv); } 106 STD { int linux_sys_stat(const char *path, \ struct linux_stat *sp); } 107 STD { int linux_sys_lstat(const char *path, \ struct linux_stat *sp); } 108 STD { int linux_sys_fstat(int fd, struct linux_stat *sp); } 109 STD { int linux_sys_olduname(struct linux_oldutsname *up); } 110 UNIMPL 111 UNIMPL vhangup 112 UNIMPL idle 113 UNIMPL syscall 114 STD { int linux_sys_wait4(int pid, int *status, \ int options, struct rusage *rusage); } 115 STD { int linux_sys_swapoff(const char *path); } 116 STD { int linux_sys_sysinfo(struct linux_sysinfo *arg); } 117 STD { int linux_sys_ipc(int what, int a1, int a2, int a3, \ caddr_t ptr); } 118 NOARGS { int sys_fsync(int fd); } 119 STD { int linux_sys_sigreturn(struct linux_sigcontext *scp); } 120 STD { int linux_sys_clone(int flags, void *stack); } 121 STD { int linux_sys_setdomainname(char *domainname, \ int len); } 122 STD { int linux_sys_uname(struct linux_utsname *up); } 123 UNIMPL modify_ldt 124 UNIMPL adjtimex 125 NOARGS { int sys_mprotect(caddr_t addr, int len, int prot); } 126 STD { int linux_sys_sigprocmask(int how, \ const linux_old_sigset_t *set, \ linux_old_sigset_t *oset); } 127 UNIMPL create_module 128 UNIMPL init_module 129 UNIMPL delete_module 130 UNIMPL get_kernel_syms 131 UNIMPL quotactl 132 STD { int linux_sys_getpgid(int pid); } 133 NOARGS { int sys_fchdir(int fd); } 134 UNIMPL bdflush 135 UNIMPL sysfs 136 STD { int linux_sys_personality(int per); } 137 UNIMPL afs_syscall 138 STD { int linux_sys_setfsuid(uid_t uid); } 139 NOARGS { int linux_sys_getfsuid(void); } 140 STD { int linux_sys_llseek(int fd, u_int32_t ohigh, \ u_int32_t olow, caddr_t res, int whence); } 141 STD { int linux_sys_getdents(int fd, \ struct linux_dirent *dent, unsigned int count); } 142 STD { int linux_sys_select(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct timeval *timeout); } 143 NOARGS { int sys_flock(int fd, int how); } 144 STD { int linux_sys_msync(caddr_t addr, int len, int fl); } 145 NOARGS { int sys_readv(int fd, struct iovec *iovp, \ u_int iovcnt); } 146 NOARGS { int sys_writev(int fd, struct iovec *iovp, \ u_int iovcnt); } 147 NOARGS { pid_t sys_getsid(pid_t pid); } 148 STD { int linux_sys_fdatasync(int fd); } 149 STD { int linux_sys___sysctl(struct linux___sysctl *lsp); } 150 NOARGS { int sys_mlock(caddr_t addr, size_t len); } 151 NOARGS { int sys_munlock(caddr_t addr, size_t len); } 152 NOARGS { int sys_mlockall(int flags); } 153 NOARGS { int sys_munlockall(void); } 154 STD { int linux_sys_sched_setparam(pid_t pid, \ const struct linux_sched_param *sp); } 155 STD { int linux_sys_sched_getparam(pid_t pid, \ struct linux_sched_param *sp); } 156 STD { int linux_sys_sched_setscheduler(pid_t pid, \ int policy, const struct linux_sched_param *sp); } 157 STD { int linux_sys_sched_getscheduler(pid_t pid); } 158 STD { int linux_sys_sched_yield(void); } 159 STD { int linux_sys_sched_get_priority_max(int policy); } 160 STD { int linux_sys_sched_get_priority_min(int policy); } 161 UNIMPL sched_rr_get_interval 162 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \ struct timespec *rmtp); } 163 STD { void *linux_sys_mremap(void *old_address, \ size_t old_size, size_t new_size, u_long flags); } 164 STD { int linux_sys_setresuid(uid_t ruid, uid_t euid, \ uid_t suid); } 165 STD { int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \ uid_t *suid); } 166 UNIMPL 167 UNIMPL query_module 168 NOARGS { int sys_poll(struct pollfd *fds, u_int nfds, \ int timeout); } 169 UNIMPL nfsservctl 170 STD { int linux_sys_setresgid(gid_t rgid, gid_t egid, \ gid_t sgid); } 171 STD { int linux_sys_getresgid(gid_t *rgid, gid_t *egid, \ gid_t *sgid); } 172 UNIMPL prctl 173 UNIMPL rt_sigreturn ;173 STD { int linux_sys_rt_sigreturn( \ ; struct linux_rt_sigframe *sfp); } 174 STD { int linux_sys_rt_sigaction(int signum, \ const struct linux_sigaction *nsa, \ struct linux_sigaction *osa, \ size_t sigsetsize); } 175 STD { int linux_sys_rt_sigprocmask(int how, \ const linux_sigset_t *set, \ linux_sigset_t *oset, \ size_t sigsetsize); } 176 STD { int linux_sys_rt_sigpending( \ linux_sigset_t *set, \ size_t sigsetsize); } 177 UNIMPL rt_sigtimedwait ; XXX XAX int here? sigset_t here? siginfo_t 178 STD { int linux_sys_rt_queueinfo(int pid, int signum, \ void *uinfo); } 179 STD { int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \ size_t sigsetsize); } 180 STD { int linux_sys_pread(int fd, char *buf, \ size_t nbyte, linux_off_t offset); } 181 STD { int linux_sys_pwrite(int fd, char *buf, \ size_t nbyte, linux_off_t offset); } 182 STD { int linux_sys_chown16(const char *path, int uid, \ int gid); } 183 NOARGS { int sys___getcwd(char *bufp, size_t length); } 184 UNIMPL capget 185 UNIMPL capset 186 STD { int linux_sys_sigaltstack( \ const struct linux_sigaltstack *ss, \ struct linux_sigaltstack *oss); } 187 UNIMPL sendfile 188 UNIMPL getpmsg 189 UNIMPL putpmsg 190 NOARGS vfork { int sys___vfork14(void); } 191 UNIMPL getrlimit 192 UNIMPL mmap2 193 STD { int linux_sys_truncate64(const char *path, \ off_t length); } 194 NOARGS ftruncate64 { int sys_ftruncate(int fd, \ off_t length); } 195 STD { int linux_sys_stat64(const char *path, \ struct linux_stat64 *sp); } 196 STD { int linux_sys_lstat64(const char *path, \ struct linux_stat64 *sp); } 197 STD { int linux_sys_fstat64(int fd, \ struct linux_stat64 *sp); } 198 STD { int linux_sys_lchown(const char *path, uid_t uid, \ gid_t gid); } 199 NOARGS getuid32 { uid_t sys_getuid(void); } 200 NOARGS getgid32 { gid_t sys_getgid(void); } 201 NOARGS geteuid32 { uid_t sys_geteuid(void); } 202 NOARGS getegid32 { gid_t sys_getegid(void); } 203 NOARGS setreuid32 { int sys_setreuid(uid_t ruid, \ uid_t euid); } 204 NOARGS setregid32 { int sys_setregid(gid_t rgid, \ gid_t egid); } 205 NOARGS getgroups32 { int sys_getgroups(u_int gidsetsize, \ gid_t *gidset); } 206 NOARGS setgroups32 { int sys_setgroups(u_int gidsetsize, \ gid_t *gidset); } 207 NOARGS fchown32 { int sys___posix_fchown(int fd, uid_t uid, \ gid_t gid); } 208 NOARGS setresuid32 { int linux_sys_setresuid(uid_t ruid, \ uid_t euid, uid_t suid); } 209 NOARGS getresuid32 { int linux_sys_getresuid(uid_t *ruid, \ uid_t *euid, uid_t *suid); } 210 NOARGS setresgid32 { int linux_sys_setresgid(gid_t rgid, \ gid_t egid, gid_t sgid); } 211 NOARGS getresgid32 { int linux_sys_getresgid(gid_t *rgid, \ gid_t *egid, gid_t *sgid); } 212 STD chown32 { int linux_sys_chown(const char *path, \ uid_t uid, gid_t gid); } 213 NOARGS setuid32 { int sys_setuid(uid_t uid); } 214 NOARGS setgid32 { int sys_setgid(gid_t gid); } 215 NOARGS setfsuid32 { int linux_sys_setfsuid(uid_t uid); } 216 NOARGS getfsuid32 { int linux_sys_getfsuid(void); } 217 UNIMPL getdents64 218 UNIMPL pivot_root 219 UNIMPL mincore 220 UNIMPL madvise 221 UNIMPL fcntl64 ; Fill until 256 222 UNIMPL 223 UNIMPL 224 UNIMPL 225 UNIMPL 226 UNIMPL 227 UNIMPL 228 UNIMPL 229 UNIMPL 230 UNIMPL 231 UNIMPL 232 UNIMPL 233 UNIMPL 234 UNIMPL 235 UNIMPL 236 UNIMPL 237 UNIMPL 238 UNIMPL 239 UNIMPL 240 UNIMPL 241 UNIMPL 242 UNIMPL 243 UNIMPL 244 UNIMPL 245 UNIMPL 246 UNIMPL 247 UNIMPL 248 UNIMPL 249 UNIMPL 250 UNIMPL 251 UNIMPL 252 UNIMPL 253 UNIMPL 254 UNIMPL 255 UNIMPL ; ARMLinux actually has two ranges of syscalls. Normal syscalls use ; SWI numbers starting at 0x900000 (__NR_SYSCALL_BASE). Special ; ARM-specific syscalls use SWI numbers starting at 0x9f00000 ; (__ARM_NR_BASE). linux_syscall() (in arch/arm/arm/linux_syscall.c) ; remaps these down to 0x900100 so that we can use one linux_sysent ; array for the whole lot. 256 UNIMPL 257 STD { int linux_sys_breakpoint(void); } 258 STD { int linux_sys_cacheflush(uintptr_t from, \ intptr_t to); } 259 UNIMPL usr26 260 UNIMPL usr32 @ 1.6.2.3 log @Catch up with -current. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.6.2.2 2002/03/16 16:00:31 jdolecek Exp $ d149 1 a149 1 75 STD { int linux_sys_setrlimit(u_int which, \ d151 1 a151 1 76 STD { int linux_sys_getrlimit(u_int which, \ d325 2 a326 4 191 STD { int linux_sys_ugetrlimit(int which, \ struct rlimit *rlp); } 192 STD { int linux_sys_mmap2(void *addr, size_t len, \ int prot, int flags, int fd, off_t offset); } @ 1.6.2.4 log @catch up with -current on kqueue branch @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.6.2.3 2002/06/23 17:44:06 jdolecek Exp $ d223 1 a223 2 125 STD { int linux_sys_mprotect(const void *start, \ unsigned long len, int prot); } d327 2 a328 1 192 UNIMPL mmap2 d369 1 a369 2 217 STD { int linux_sys_getdents64(int fd, \ struct linux_dirent64 *dent, unsigned int count); } d373 1 a373 1 221 STD { int linux_sys_fcntl64(int fd, int cmd, void *arg); } @ 1.5 log @Make syscall 0 an explicit call of linux_sys_nosys, as it is on i386. This is necessary to get a prototype for linux_sys_nosys generated in syscallargs.h. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.4 2002/01/23 15:54:34 bjh21 Exp $ d416 1 a416 1 257 UNIMPL breakpoint @ 1.4 log @Syscall 0 isn't syscall() on ARMLinux. Mark it UNIMPL instead. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.3 2002/01/23 15:52:59 bjh21 Exp $ d56 2 a57 1 0 UNIMPL @ 1.3 log @Add support for the ARM-specific syscalls in ARMLinux. These are invoked by SWI numbers above 0x9f0000, but we re-map them down to somewhere just after the end of the usual syscall range, since NetBSD doesn't handle sparse syscall arrays well. The only syscall I've actually implemented in this range is cacheflush(), which was previously being mapped to fork(), causing ... interesting results. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.2 2002/01/15 10:21:46 bjh21 Exp $ d56 1 a56 1 0 NOARGS { int linux_sys_nosys(void); } syscall @ 1.2 log @Shuffle uname calls around. It turns out we don't use the same names as Linux does, so: sys_olduname -> linux_sys_oldolduname sys_uname -> linux_sys_olduname sys_newuname -> linux_sys_uname @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.1 2002/01/14 23:14:41 bjh21 Exp $ d371 49 @ 1.1 log @Crude first cut at ARMLinux binary compatibility. Successfully runs "/emul/linux/bin/echo hello, world", dynamically linked. @ text @d1 1 a1 1 $NetBSD$ d127 2 a128 2 59 STD { int linux_sys_olduname(struct linux_old_utsname \ *up); } d203 1 a203 1 109 STD { int linux_sys_uname(struct linux_utsname *up); } d219 1 a219 2 ;122 STD { int linux_sys_new_uname(struct linux_utsname *up); } 122 UNIMPL new_uname @